From 065e5f65a63a18362b749c1a61745f02419cd20a Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 21 Mar 2026 19:44:31 +0100 Subject: [PATCH] Add task tags for selective playbook execution and fix vault loading --- ansible/roles/dotfiles_common/tasks/main.yml | 1 + ansible/roles/packages_void/tasks/main.yml | 4 ++++ ansible/roles/profile_desktop_i3/tasks/main.yml | 8 ++++++++ ansible/site.yml | 1 + 4 files changed, 14 insertions(+) diff --git a/ansible/roles/dotfiles_common/tasks/main.yml b/ansible/roles/dotfiles_common/tasks/main.yml index c01a7c8..725f3fc 100644 --- a/ansible/roles/dotfiles_common/tasks/main.yml +++ b/ansible/roles/dotfiles_common/tasks/main.yml @@ -14,6 +14,7 @@ loop: "{{ xdg_user_directories | default([]) }}" - name: Copy common dotfiles + tags: [dotfiles, dotfiles:common] ansible.builtin.copy: src: "{{ playbook_dir }}/../dotfiles/common/{{ item.src }}" dest: "{{ user_home }}/{{ item.dest }}" diff --git a/ansible/roles/packages_void/tasks/main.yml b/ansible/roles/packages_void/tasks/main.yml index bd0f529..22f1e78 100644 --- a/ansible/roles/packages_void/tasks/main.yml +++ b/ansible/roles/packages_void/tasks/main.yml @@ -1,5 +1,6 @@ --- - name: Install Void nonfree repository if needed + tags: [packages] community.general.xbps: name: void-repo-nonfree state: present @@ -7,16 +8,19 @@ when: "'void-repo-nonfree' in (host_packages | default([]) + void_packages_base | default([]))" - name: Refresh XBPS cache after enabling nonfree repository + tags: [packages] ansible.builtin.command: xbps-install -S changed_when: false when: "'void-repo-nonfree' in (host_packages | default([]) + void_packages_base | default([]))" - name: Synchronize and upgrade Void Linux packages + tags: [packages] community.general.xbps: update_cache: true upgrade: true - name: Install packages on Void Linux + tags: [packages] community.general.xbps: name: >- {{ diff --git a/ansible/roles/profile_desktop_i3/tasks/main.yml b/ansible/roles/profile_desktop_i3/tasks/main.yml index bf2a6e4..6fac4c8 100644 --- a/ansible/roles/profile_desktop_i3/tasks/main.yml +++ b/ansible/roles/profile_desktop_i3/tasks/main.yml @@ -1,5 +1,6 @@ --- - name: Ensure config directories exist + tags: [dotfiles, dotfiles:desktop] ansible.builtin.file: path: "{{ item }}" state: directory @@ -37,6 +38,7 @@ state: present - name: Copy desktop dotfiles + tags: [dotfiles, dotfiles:desktop] ansible.builtin.copy: src: "{{ playbook_dir }}/../dotfiles/desktop/{{ item.src }}" dest: "{{ user_home }}/{{ item.dest }}" @@ -48,6 +50,7 @@ label: "{{ item.dest }}" - name: Render desktop templates with private values + tags: [dotfiles, dotfiles:desktop] ansible.builtin.template: src: "{{ item.src }}" dest: "{{ user_home }}/{{ item.dest }}" @@ -71,6 +74,7 @@ label: "{{ item.dest }}" - name: Refresh user font cache + tags: [dotfiles, dotfiles:desktop] ansible.builtin.command: fc-cache -f become_user: "{{ username }}" environment: @@ -78,6 +82,7 @@ changed_when: false - name: Ensure .gnupg directory exists + tags: [dotfiles, dotfiles:desktop] ansible.builtin.file: path: "{{ user_home }}/.gnupg" state: directory @@ -86,6 +91,7 @@ mode: "0700" - name: Copy gpg-agent.conf + tags: [dotfiles, dotfiles:desktop] ansible.builtin.copy: src: "{{ playbook_dir }}/../dotfiles/desktop/.gnupg/gpg-agent.conf" dest: "{{ user_home }}/.gnupg/gpg-agent.conf" @@ -94,6 +100,7 @@ mode: "0600" - name: Ensure local user directories exist + tags: [dotfiles, dotfiles:desktop] ansible.builtin.file: path: "{{ item.path }}" state: directory @@ -111,6 +118,7 @@ mode: "0755" - name: Ensure maildir directories exist + tags: [dotfiles, dotfiles:desktop] ansible.builtin.file: path: "{{ item }}" state: directory diff --git a/ansible/site.yml b/ansible/site.yml index 448f7e5..800358e 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -9,6 +9,7 @@ become: true pre_tasks: - name: Load local vault variables when available + tags: [always] ansible.builtin.include_vars: file: "{{ playbook_dir }}/../secrets/vault.yml" when: lookup('ansible.builtin.fileglob', playbook_dir + '/../secrets/vault.yml', errors='ignore') != ''