This repository has been archived on 2025-04-22. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
common-ansible/tasks/poetry.yml
2021-02-01 21:16:53 +01:00

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