From e3614e2572b37fbf11180f29f79beba210234a02 Mon Sep 17 00:00:00 2001 From: Marco Date: Sun, 12 Sep 2021 22:54:52 +0200 Subject: [PATCH] Add option to install shell extensions for multiple users --- group_vars/silverblue.yml | 12 ++++++------ roles/etc/tasks/users.yml | 2 +- roles/home/defaults/main.yml | 3 +++ roles/home/handlers/main.yml | 7 +++++++ roles/home/tasks/gnome.yml | 9 +++++++++ roles/home/tasks/main.yml | 6 +++++- 6 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 roles/home/defaults/main.yml create mode 100644 roles/home/handlers/main.yml diff --git a/group_vars/silverblue.yml b/group_vars/silverblue.yml index 30852eb..78a6433 100644 --- a/group_vars/silverblue.yml +++ b/group_vars/silverblue.yml @@ -231,10 +231,6 @@ rpm_ostree_layered_packages: zsh: state: present -etc_users: - flexo: - shell: /bin/zsh - etc_firewalld: syncthing: zone: FedoraWorkstation @@ -248,7 +244,11 @@ etc_sysctl_params: value: 524288 state: present -home_users: +users: flexo: + shell: /bin/zsh dotfiles: git@git.spa5.dev:flexo/dotfiles - update: no \ No newline at end of file + +home_gnome_shell_extensions: + 'https://github.com/ubuntu/gnome-shell-extension-appindicator': + extension_uuid: 'appindicatorsupport@rgcjonas.gmail.com' \ No newline at end of file diff --git a/roles/etc/tasks/users.yml b/roles/etc/tasks/users.yml index 768aaac..6ad87c9 100644 --- a/roles/etc/tasks/users.yml +++ b/roles/etc/tasks/users.yml @@ -4,4 +4,4 @@ name: "{{ item.key }}" shell: "{{ item.value.shell }}" become: yes - loop: "{{ lookup('dict', etc_users, wantlist=True) }}" \ No newline at end of file + loop: "{{ lookup('dict', users, wantlist=True) }}" diff --git a/roles/home/defaults/main.yml b/roles/home/defaults/main.yml new file mode 100644 index 0000000..93fe684 --- /dev/null +++ b/roles/home/defaults/main.yml @@ -0,0 +1,3 @@ +--- +home_place_dotfiles: false +home_configure_gnome: true \ No newline at end of file diff --git a/roles/home/handlers/main.yml b/roles/home/handlers/main.yml new file mode 100644 index 0000000..394fa00 --- /dev/null +++ b/roles/home/handlers/main.yml @@ -0,0 +1,7 @@ +--- +- name: Compile glib schemas + ansible.builtin.command: + cmd: "glib-compile-schemas /home/{{ item[0] }}/.local/share/gnome-shell/extensions/{{ item[1].value.extension_uuid }}/schemas" + with_nested: + - "{{ users }}" + - "{{ home_gnome_shell_extensions | dict2items }}" diff --git a/roles/home/tasks/gnome.yml b/roles/home/tasks/gnome.yml index e69de29..34ce518 100644 --- a/roles/home/tasks/gnome.yml +++ b/roles/home/tasks/gnome.yml @@ -0,0 +1,9 @@ +--- +- name: Install GNOME Shell Extensions + ansible.builtin.git: + repo: "{{ item[1].key }}" + dest: "/home/{{ item[0] }}/.local/share/gnome-shell/extensions/{{ item[1].value.extension_uuid }}" + with_nested: + - "{{ users }}" + - "{{ home_gnome_shell_extensions | dict2items }}" + notify: Compile glib schemas \ No newline at end of file diff --git a/roles/home/tasks/main.yml b/roles/home/tasks/main.yml index 4700371..7d52bf0 100644 --- a/roles/home/tasks/main.yml +++ b/roles/home/tasks/main.yml @@ -1,4 +1,8 @@ --- - name: Include dotfiles.yml ansible.builtin.include: dotfiles.yml - when: home_place_dotfiles | bool \ No newline at end of file + when: home_place_dotfiles | bool + +- name: Include gnome.yml + ansible.builtin.include: gnome.yml + when: home_configure_gnome | bool \ No newline at end of file