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 }}"
|