From 238885db9a869259808da0ecc12062aa6362c988 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Tue, 11 Oct 2022 20:33:16 -0400 Subject: [PATCH] Add the per-user common role. --- ansible/roles/per_user/tasks/main.yml | 33 +++++++++++++++++++ .../roles/per_user/tasks/peruser_freebsd.yaml | 0 .../roles/per_user/tasks/peruser_linux.yaml | 9 +++++ ansible/roles/zsh/tasks/linux.yaml | 9 +++++ 4 files changed, 51 insertions(+) create mode 100644 ansible/roles/per_user/tasks/main.yml create mode 100644 ansible/roles/per_user/tasks/peruser_freebsd.yaml create mode 100644 ansible/roles/per_user/tasks/peruser_linux.yaml diff --git a/ansible/roles/per_user/tasks/main.yml b/ansible/roles/per_user/tasks/main.yml new file mode 100644 index 0000000..b6e38a1 --- /dev/null +++ b/ansible/roles/per_user/tasks/main.yml @@ -0,0 +1,33 @@ +- name: account $HOME + shell: "echo $HOME" + register: account_homedir + changed_when: false + check_mode: no + +- name: account name + command: id -un + register: account_name + changed_when: false + check_mode: no + +- name: group name + command: id -gn + register: group_name + changed_when: false + check_mode: no + +- name: Create directories + file: + name: "{{ account_homedir.stdout }}/{{ item }}" + state: directory + mode: 0700 + owner: "{{ account_name.stdout }}" + group: "{{ group_name.stdout }}" + loop: + - .ansible_deploy + +- include: tasks/peruser_freebsd.yaml + when: 'os_flavor == "freebsd"' + +- include: tasks/peruser_linux.yaml + when: 'os_flavor == "linux"' diff --git a/ansible/roles/per_user/tasks/peruser_freebsd.yaml b/ansible/roles/per_user/tasks/peruser_freebsd.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/per_user/tasks/peruser_linux.yaml b/ansible/roles/per_user/tasks/peruser_linux.yaml new file mode 100644 index 0000000..08e5fc1 --- /dev/null +++ b/ansible/roles/per_user/tasks/peruser_linux.yaml @@ -0,0 +1,9 @@ +- name: Create directories + file: + name: "{{ account_homedir.stdout }}/{{ item }}" + state: directory + mode: 0700 + owner: "{{ account_name.stdout }}" + group: "{{ group_name.stdout }}" + loop: + - .config/systemd/user # user unit files diff --git a/ansible/roles/zsh/tasks/linux.yaml b/ansible/roles/zsh/tasks/linux.yaml index 86fe213..b942562 100644 --- a/ansible/roles/zsh/tasks/linux.yaml +++ b/ansible/roles/zsh/tasks/linux.yaml @@ -6,3 +6,12 @@ - git - python-jmespath # Needed on machine running ansible for json_query state: present + +- include_tasks: + file: tasks/peruser.yaml + apply: + become: yes + become_user: "{{ initialize_user }}" + loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" + loop_control: + loop_var: initialize_user