73 lines
1.9 KiB
YAML
73 lines
1.9 KiB
YAML
- name: retrieve user $HOME
|
|
shell: 'echo $HOME'
|
|
become_user: '{{ poetry_user }}'
|
|
register: home_stats
|
|
|
|
- name: retrieve user $PATH
|
|
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
|
|
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'
|
|
environment:
|
|
POETRY_HOME: '{{ poetry_dir }}'
|
|
when: poetry_stats.stat.isdir is not defined
|
|
|
|
- name: add poetry to user binaries
|
|
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'
|
|
environment:
|
|
PATH: '{{ poetry_user_home }}/.local/bin:{{ poetry_user_path }}'
|