From afac310f21134cec532a670de1f078acdd8c042c Mon Sep 17 00:00:00 2001 From: Marty Oehme <contact@martyoeh.me> Date: Sun, 2 Mar 2025 18:08:14 +0100 Subject: [PATCH] ref(roles): All roles use desired package state By setting the `desired_package_state` variable we can change if ansible should only ensure that the packages exist on the system (`present`) or that they are also updated to their latest version (`latest`). --- roles/backup/tasks/restic.yaml | 2 +- roles/backup/tasks/snapper.yaml | 2 +- roles/base/tasks/main.yaml | 12 ++++++------ roles/bluetooth/tasks/main.yaml | 2 +- roles/display_manager/tasks/main.yaml | 4 ++-- roles/fonts/tasks/main.yaml | 2 +- roles/gnupg/tasks/main.yaml | 4 ++-- roles/host/tasks/main.yaml | 2 +- roles/keyd/tasks/main.yaml | 2 +- roles/network/tasks/wireless.yaml | 2 +- roles/packages/tasks/main.yaml | 2 +- roles/pipewire/tasks/main.yaml | 6 +++--- roles/power/tasks/main.yaml | 2 +- roles/user/defaults/main.yaml | 1 - roles/user/tasks/main.yaml | 2 +- roles/wayland/tasks/main.yaml | 8 ++++---- 16 files changed, 27 insertions(+), 28 deletions(-) diff --git a/roles/backup/tasks/restic.yaml b/roles/backup/tasks/restic.yaml index 20cbad4..9bf91d9 100644 --- a/roles/backup/tasks/restic.yaml +++ b/roles/backup/tasks/restic.yaml @@ -2,7 +2,7 @@ community.general.xbps: name: - restic - state: present + state: "{{ desired_package_state | default('present') }}" tags: packages - name: Ensure restic configuration directory exists diff --git a/roles/backup/tasks/snapper.yaml b/roles/backup/tasks/snapper.yaml index d551e3f..d6b6cd3 100644 --- a/roles/backup/tasks/snapper.yaml +++ b/roles/backup/tasks/snapper.yaml @@ -2,7 +2,7 @@ community.general.xbps: name: - snapper - state: present + state: "{{ desired_package_state | default('present') }}" # https://wiki.archlinux.org/title/Snapper#updatedb - name: Disable updatedb indexing for snapshot directories diff --git a/roles/base/tasks/main.yaml b/roles/base/tasks/main.yaml index b175181..7aabc47 100644 --- a/roles/base/tasks/main.yaml +++ b/roles/base/tasks/main.yaml @@ -3,7 +3,7 @@ ansible.builtin.lineinfile: path: /etc/xbps.d/ignore-dracut.conf line: ignorepkg=dracut - state: present + state: "present" create: true # create file if absent tags: - packages @@ -24,7 +24,7 @@ community.general.xbps: name: - base-system - state: present + state: "{{ desired_package_state | default('present') }}" tags: - packages @@ -39,7 +39,7 @@ - name: Install booster community.general.xbps: name: booster - state: present + state: "{{ desired_package_state | default('present') }}" notify: installed-booster tags: - packages @@ -71,7 +71,7 @@ path: /etc/default/libc-locales regexp: "^{{ item }}" line: "{{ item }}" - state: present + state: "present" create: true loop: "{{ locales_enabled }}" when: libc_locales_file.stat.exists @@ -81,7 +81,7 @@ community.general.xbps: name: - chrony - state: present + state: "{{ desired_package_state | default('present') }}" tags: chrony - name: Activate chronyd service @@ -107,7 +107,7 @@ community.general.xbps: name: - snooze - state: present + state: "{{ desired_package_state | default('present') }}" - name: Activate snooze cron services ansible.builtin.file: diff --git a/roles/bluetooth/tasks/main.yaml b/roles/bluetooth/tasks/main.yaml index eb3e94e..f88f9fe 100644 --- a/roles/bluetooth/tasks/main.yaml +++ b/roles/bluetooth/tasks/main.yaml @@ -2,7 +2,7 @@ community.general.xbps: name: - bluez - state: "{{ desired_package_state }}" + state: "{{ desired_package_state | default('present') }}" tags: packages - name: Activate bluetooth service diff --git a/roles/display_manager/tasks/main.yaml b/roles/display_manager/tasks/main.yaml index 5ca7090..952c6a8 100644 --- a/roles/display_manager/tasks/main.yaml +++ b/roles/display_manager/tasks/main.yaml @@ -2,14 +2,14 @@ - name: Ensure user group for greeter exists ansible.builtin.group: name: "{{ greeter_user }}" - state: present + state: "present" - name: Install greetd and tuigreet community.general.xbps: name: - greetd - tuigreet - state: present + state: "{{ desired_package_state | default('present') }}" tags: - packages diff --git a/roles/fonts/tasks/main.yaml b/roles/fonts/tasks/main.yaml index c436b5c..02f7cef 100644 --- a/roles/fonts/tasks/main.yaml +++ b/roles/fonts/tasks/main.yaml @@ -2,7 +2,7 @@ - name: Install many fonts community.general.xbps: name: "{{ fonts }}" - state: "{{ desired_package_state }}" + state: "{{ desired_package_state | default('present') }}" notify: installed-fonts when: fonts diff --git a/roles/gnupg/tasks/main.yaml b/roles/gnupg/tasks/main.yaml index 84c172e..cb5a088 100644 --- a/roles/gnupg/tasks/main.yaml +++ b/roles/gnupg/tasks/main.yaml @@ -3,13 +3,13 @@ name: - gnupg - gnupg2-scdaemon - state: "{{ desired_package_state }}" + state: "{{ desired_package_state | default('present') }}" tags: packages - name: Ensure user group plugdev exist ansible.builtin.group: name: plugdev - state: present + state: "present" - name: Put user in plugdev group ansible.builtin.user: diff --git a/roles/host/tasks/main.yaml b/roles/host/tasks/main.yaml index ac6391c..9675f63 100644 --- a/roles/host/tasks/main.yaml +++ b/roles/host/tasks/main.yaml @@ -10,7 +10,7 @@ # tasks: # - name: Create @voidroot subvool under root # community.general.btrfs_subvolume: -# state: present +# state: "{{ desired_package_state | default('present') }}" # name: "/@" # filesystem_uuid: "{{ btrfs_root_uuid }}" # # - name: Mount /boot part into voidroot mount diff --git a/roles/keyd/tasks/main.yaml b/roles/keyd/tasks/main.yaml index 5d5624a..e4638d1 100644 --- a/roles/keyd/tasks/main.yaml +++ b/roles/keyd/tasks/main.yaml @@ -3,7 +3,7 @@ community.general.xbps: name: - keyd - state: "{{ desired_package_state }}" + state: "{{ desired_package_state | default('present') }}" tags: - packages diff --git a/roles/network/tasks/wireless.yaml b/roles/network/tasks/wireless.yaml index f66cd64..ec2ecaa 100644 --- a/roles/network/tasks/wireless.yaml +++ b/roles/network/tasks/wireless.yaml @@ -3,7 +3,7 @@ community.general.xbps: name: - iwd - state: present + state: "{{ desired_package_state | default('present') }}" - name: Activate wireless networking service ansible.builtin.file: diff --git a/roles/packages/tasks/main.yaml b/roles/packages/tasks/main.yaml index a4c942b..d74b51e 100644 --- a/roles/packages/tasks/main.yaml +++ b/roles/packages/tasks/main.yaml @@ -1,4 +1,4 @@ - name: Install all my used void packages community.general.xbps: name: "{{ lookup('community.general.merge_variables', '^packages_.*') }}" - state: "{{ desired_package_state }}" + state: "{{ desired_package_state | default('present') }}" diff --git a/roles/pipewire/tasks/main.yaml b/roles/pipewire/tasks/main.yaml index eacdf4b..e525adc 100644 --- a/roles/pipewire/tasks/main.yaml +++ b/roles/pipewire/tasks/main.yaml @@ -1,7 +1,7 @@ - name: Ensure user group for audio/video exists ansible.builtin.group: name: "{{ item }}" - state: present + state: "present" loop: "{{ audio_groups }}" - name: Put user in audio group @@ -14,14 +14,14 @@ community.general.xbps: name: - pipewire - state: present + state: "{{ desired_package_state | default('present') }}" tags: packages - name: Install pipewire bluetooth community.general.xbps: name: - libspa-bluetooth - state: present + state: "{{ desired_package_state | default('present') }}" tags: - packages - bluetooth diff --git a/roles/power/tasks/main.yaml b/roles/power/tasks/main.yaml index ae80b33..d55f4a5 100644 --- a/roles/power/tasks/main.yaml +++ b/roles/power/tasks/main.yaml @@ -2,7 +2,7 @@ - name: Ensure user group "power" exists ansible.builtin.group: name: power - state: present + state: "present" - name: Put user in power group ansible.builtin.user: diff --git a/roles/user/defaults/main.yaml b/roles/user/defaults/main.yaml index 839c855..b354bfa 100644 --- a/roles/user/defaults/main.yaml +++ b/roles/user/defaults/main.yaml @@ -10,7 +10,6 @@ user_groups: - input - kvm - lp - - plugdev - scanner - storage - usbmon diff --git a/roles/user/tasks/main.yaml b/roles/user/tasks/main.yaml index 1de769a..bcba9bb 100644 --- a/roles/user/tasks/main.yaml +++ b/roles/user/tasks/main.yaml @@ -11,7 +11,7 @@ - name: Ensure all desired user groups exist ansible.builtin.group: name: "{{ item }}" - state: present + state: "present" loop: "{{ user_groups }}" - name: Add primary user diff --git a/roles/wayland/tasks/main.yaml b/roles/wayland/tasks/main.yaml index 86f5615..843d44f 100644 --- a/roles/wayland/tasks/main.yaml +++ b/roles/wayland/tasks/main.yaml @@ -2,7 +2,7 @@ community.general.xbps: name: - mesa-dri - state: present + state: "{{ desired_package_state | default('present') }}" tags: - intel - drivers @@ -14,7 +14,7 @@ - dbus - seatd - turnstile - state: present + state: "{{ desired_package_state | default('present') }}" tags: - packages @@ -37,7 +37,7 @@ name: - xdg-desktop-portal - xdg-desktop-portal-wlr - state: present + state: "{{ desired_package_state | default('present') }}" tags: - packages - desktop-portal @@ -48,7 +48,7 @@ name: - qt5-wayland - qt6-wayland - state: present + state: "{{ desired_package_state | default('present') }}" tags: - packages - qt