73 lines
2 KiB
YAML
73 lines
2 KiB
YAML
- name: retrieve user $HOME # noqa 301
|
|
shell: 'echo $HOME'
|
|
become_user: '{{ poetry_user }}'
|
|
register: home_stats
|
|
|
|
- name: retrieve user $PATH # noqa 301
|
|
shell: 'echo $PATH'
|
|
become_user: '{{ poetry_user }}'
|
|
register: path_stats
|
|
|
|
- name: set poetry user variables
|
|
set_fact:
|
|
poetry_user_home: '{{ home_stats.stdout }}'
|
|
poetry_user_path: '{{ path_stats.stdout }}'
|
|
|
|
- name: create user folder for binaries
|
|
become_user: '{{ poetry_user }}'
|
|
file:
|
|
state: directory
|
|
mode: '0755'
|
|
path: '{{ poetry_user_home }}/.local/bin'
|
|
|
|
- name: set default python binary # noqa 208
|
|
become: true
|
|
file:
|
|
state: link
|
|
src: '/usr/bin/python3'
|
|
dest: '/usr/bin/python'
|
|
when: ansible_distribution == "Ubuntu"
|
|
|
|
- name: setup poetry for Ubuntu/Debian derived distro's
|
|
block:
|
|
- name: check poetry existence
|
|
become_user: '{{ poetry_user }}'
|
|
stat:
|
|
path: '{{ poetry_dir }}'
|
|
register: poetry_stats
|
|
|
|
- name: download poetry installer
|
|
become_user: '{{ poetry_user }}'
|
|
get_url:
|
|
url: '{{ poetry_url }}'
|
|
dest: /tmp/
|
|
mode: '0750'
|
|
when: poetry_stats.stat.isdir is not defined
|
|
|
|
- name: install poetry
|
|
become_user: '{{ poetry_user }}'
|
|
command: 'python /tmp/get-poetry.py --yes' # noqa 305
|
|
environment:
|
|
POETRY_HOME: '{{ poetry_dir }}'
|
|
when: poetry_stats.stat.isdir is not defined
|
|
|
|
- name: add poetry to user binaries # noqa 208
|
|
become_user: '{{ poetry_user }}'
|
|
file:
|
|
state: link
|
|
src: '{{ poetry_dir }}/bin/poetry'
|
|
dest: '{{ poetry_user_home }}/.local/bin/poetry'
|
|
when: ansible_distribution == "Debian" or ansible_distribution == "Ubuntu"
|
|
|
|
- name: setup poetry for Archlinux
|
|
become: true
|
|
pacman:
|
|
name: poetry
|
|
state: present
|
|
when: ansible_facts['os_family'] == "Archlinux"
|
|
|
|
- name: update poetry config
|
|
become_user: '{{ poetry_user }}'
|
|
command: 'poetry config virtualenvs.in-project true' # noqa 301
|
|
environment:
|
|
PATH: '{{ poetry_user_home }}/.local/bin:{{ poetry_user_path }}'
|