--- - name: install config repo git: repo: git@code.infektor.net:config/python.git dest: ~/.config/python - name: create config directories file: state: directory path: '{{item}}' with_items: - ~/.config - ~/.config/ipython/profile_default - ~/.config/pip # Ensure that pip.conf exists before ever installing pip packages since # Debian has enabled `EXTERNALLY-MANAGED` from PEP 668 which breaks `pip # install --user` unless configured otherwise. - name: create symbolic links file: state: link src: '{{item.src}}' dest: '{{item.dest}}' with_items: - src: ~/.config/python/flake8 dest: ~/.config/flake8 - src: ~/.config/python/pylintrc dest: ~/.pylintrc - src: ~/.config/python/ipython_config.py dest: ~/.config/ipython/profile_default/ipython_config.py # TODO: remove this symbolic link if it exists, don't remove a regular file # - src: ~/.config/python/pip.conf # dest: ~/.config/pip/pip.conf - name: create pip.conf from template template: src: pip.conf.j2 dest: ~/.config/pip/pip.conf - name: install pip packages pip: name: '{{python_pip_packages}}' state: latest extra_args: --user - name: create directories file: state: directory dest: '{{item}}' with_items: - ~/.config/ipython/profile_default - ~/.config/pip