From 32cf355a0beca098e91c572cdd4fa332125440eb Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 20 Feb 2023 13:52:27 -0500 Subject: [PATCH 1/2] Add pyenv to Linux. --- ansible/playbook.yaml | 1 + ansible/roles/pyenv/tasks/common.yaml | 15 ++++++++++ ansible/roles/pyenv/tasks/freebsd.yaml | 5 ++++ ansible/roles/pyenv/tasks/linux.yaml | 5 ++++ ansible/roles/pyenv/tasks/main.yaml | 2 ++ ansible/roles/pyenv/tasks/peruser.yaml | 29 +++++++++++++++++++ .../roles/pyenv/tasks/peruser_freebsd.yaml | 0 ansible/roles/pyenv/tasks/peruser_linux.yaml | 0 8 files changed, 57 insertions(+) create mode 100644 ansible/roles/pyenv/tasks/common.yaml create mode 100644 ansible/roles/pyenv/tasks/freebsd.yaml create mode 100644 ansible/roles/pyenv/tasks/linux.yaml create mode 100644 ansible/roles/pyenv/tasks/main.yaml create mode 100644 ansible/roles/pyenv/tasks/peruser.yaml create mode 100644 ansible/roles/pyenv/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/pyenv/tasks/peruser_linux.yaml diff --git a/ansible/playbook.yaml b/ansible/playbook.yaml index 8ba9079..aa170d8 100644 --- a/ansible/playbook.yaml +++ b/ansible/playbook.yaml @@ -43,6 +43,7 @@ - poudriere - android - latex + - pyenv - webcam - hosts: nat_dhcp:homeserver_nat_dhcp diff --git a/ansible/roles/pyenv/tasks/common.yaml b/ansible/roles/pyenv/tasks/common.yaml new file mode 100644 index 0000000..fef1101 --- /dev/null +++ b/ansible/roles/pyenv/tasks/common.yaml @@ -0,0 +1,15 @@ +- import_tasks: tasks/freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/linux.yaml + when: 'os_flavor == "linux"' + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + when: users is defined + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user diff --git a/ansible/roles/pyenv/tasks/freebsd.yaml b/ansible/roles/pyenv/tasks/freebsd.yaml new file mode 100644 index 0000000..b417174 --- /dev/null +++ b/ansible/roles/pyenv/tasks/freebsd.yaml @@ -0,0 +1,5 @@ +# - name: Install packages +# package: +# name: +# - foo +# state: present diff --git a/ansible/roles/pyenv/tasks/linux.yaml b/ansible/roles/pyenv/tasks/linux.yaml new file mode 100644 index 0000000..67da96a --- /dev/null +++ b/ansible/roles/pyenv/tasks/linux.yaml @@ -0,0 +1,5 @@ +- name: Install packages + package: + name: + - pyenv + state: present diff --git a/ansible/roles/pyenv/tasks/main.yaml b/ansible/roles/pyenv/tasks/main.yaml new file mode 100644 index 0000000..6805b9d --- /dev/null +++ b/ansible/roles/pyenv/tasks/main.yaml @@ -0,0 +1,2 @@ +- import_tasks: tasks/common.yaml + # when: foo is defined diff --git a/ansible/roles/pyenv/tasks/peruser.yaml b/ansible/roles/pyenv/tasks/peruser.yaml new file mode 100644 index 0000000..111e886 --- /dev/null +++ b/ansible/roles/pyenv/tasks/peruser.yaml @@ -0,0 +1,29 @@ +- include_role: + name: per_user + +# - name: Create directories +# file: +# name: "{{ account_homedir.stdout }}/{{ item }}" +# state: directory +# mode: 0700 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - ".config/foo" + +# - name: Copy files +# copy: +# src: "files/{{ item.src }}" +# dest: "{{ account_homedir.stdout }}/{{ item.dest }}" +# mode: 0600 +# owner: "{{ account_name.stdout }}" +# group: "{{ group_name.stdout }}" +# loop: +# - src: foo.conf +# dest: .config/foo/foo.conf + +- import_tasks: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- import_tasks: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/pyenv/tasks/peruser_freebsd.yaml b/ansible/roles/pyenv/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/pyenv/tasks/peruser_linux.yaml b/ansible/roles/pyenv/tasks/peruser_linux.yaml new file mode 100644 index 0000000..e69de29 From 85e79844b7bdb5a541dd1a1fb566b219d0292e81 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 6 Mar 2023 15:44:33 -0500 Subject: [PATCH 2/2] Add pyenv to FreeBSD. --- ansible/roles/pyenv/files/zshrc_pyenv | 3 +++ ansible/roles/pyenv/tasks/common.yaml | 6 ++++++ ansible/roles/pyenv/tasks/linux.yaml | 5 ----- ansible/roles/pyenv/tasks/peruser.yaml | 10 ++++++++++ 4 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 ansible/roles/pyenv/files/zshrc_pyenv diff --git a/ansible/roles/pyenv/files/zshrc_pyenv b/ansible/roles/pyenv/files/zshrc_pyenv new file mode 100644 index 0000000..affc106 --- /dev/null +++ b/ansible/roles/pyenv/files/zshrc_pyenv @@ -0,0 +1,3 @@ +export PYENV_ROOT=$(pyenv root) +command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" +eval "$(pyenv init -)" diff --git a/ansible/roles/pyenv/tasks/common.yaml b/ansible/roles/pyenv/tasks/common.yaml index fef1101..c10d22d 100644 --- a/ansible/roles/pyenv/tasks/common.yaml +++ b/ansible/roles/pyenv/tasks/common.yaml @@ -1,3 +1,9 @@ +- name: Install packages + package: + name: + - pyenv + state: present + - import_tasks: tasks/freebsd.yaml when: 'os_flavor == "freebsd"' diff --git a/ansible/roles/pyenv/tasks/linux.yaml b/ansible/roles/pyenv/tasks/linux.yaml index 67da96a..e69de29 100644 --- a/ansible/roles/pyenv/tasks/linux.yaml +++ b/ansible/roles/pyenv/tasks/linux.yaml @@ -1,5 +0,0 @@ -- name: Install packages - package: - name: - - pyenv - state: present diff --git a/ansible/roles/pyenv/tasks/peruser.yaml b/ansible/roles/pyenv/tasks/peruser.yaml index 111e886..f3db8de 100644 --- a/ansible/roles/pyenv/tasks/peruser.yaml +++ b/ansible/roles/pyenv/tasks/peruser.yaml @@ -22,6 +22,16 @@ # - src: foo.conf # dest: .config/foo/foo.conf +- name: Configure zshrc additional imports + copy: + src: "files/zshrc_{{ item }}" + dest: "{{ account_homedir.stdout }}/.config/ansible_deploy/zshrc/{{ item }}.zsh" + mode: 0600 + owner: "{{ account_name.stdout }}" + group: "{{ group_name.stdout }}" + loop: + - pyenv + - import_tasks: tasks/peruser_freebsd.yaml when: 'os_flavor == "freebsd"'