From 09fbaf597c0b25bd263385cb1ea156ce28103427 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Thu, 18 Dec 2025 13:50:22 +0100 Subject: [PATCH] Remove uefi entry configuration & add systemd-boot pacman hook --- group_vars/all/main.yml | 4 - host_vars/desktop/system.yml | 4 - host_vars/htpc/system.yml | 8 +- host_vars/xps/system.yml | 4 - tasks/setup.yml | 93 ++++++++--------------- tasks/systemd.yml | 1 + templates/{pacman.j2 => pacman/config.j2} | 0 templates/pacman/hook.j2 | 11 +++ 8 files changed, 47 insertions(+), 78 deletions(-) rename templates/{pacman.j2 => pacman/config.j2} (100%) create mode 100644 templates/pacman/hook.j2 diff --git a/group_vars/all/main.yml b/group_vars/all/main.yml index e88b165..b08f525 100644 --- a/group_vars/all/main.yml +++ b/group_vars/all/main.yml @@ -19,10 +19,6 @@ xdg_script_dir: '{{ ansible_env.HOME }}/.local/bin' modprobe_templates: [] mkinitcpio_templates: [] -boot_configuration: - server_domain: fudiggity.nl -register_uefi_entries: false - wezterm_font_size: 12 diff --git a/host_vars/desktop/system.yml b/host_vars/desktop/system.yml index 5c5b1b5..b7c0ff8 100644 --- a/host_vars/desktop/system.yml +++ b/host_vars/desktop/system.yml @@ -50,8 +50,4 @@ mkinitcpio_templates: - src: 'templates/desktop/mkinitcpio/linux-lts.preset.j2' dest: '/etc/mkinitcpio.d/linux-lts.preset' -boot_configuration: - disk: /dev/sdc - partition: 1 - wezterm_font_size: 13 diff --git a/host_vars/htpc/system.yml b/host_vars/htpc/system.yml index c26db07..a7622c4 100644 --- a/host_vars/htpc/system.yml +++ b/host_vars/htpc/system.yml @@ -39,9 +39,5 @@ mkinitcpio_templates: - src: 'templates/htpc/mkinitcpio/linux.preset.j2' dest: '/etc/mkinitcpio.d/linux.preset' - - src: 'templates/htpc/mkinitcpio/linux-lts.preset.j2' - dest: '/etc/mkinitcpio.d/linux-lts.preset' - -boot_configuration: - disk: /dev/sda - partition: 1 + - src: "templates/htpc/mkinitcpio/linux-lts.preset.j2" + dest: "/etc/mkinitcpio.d/linux-lts.preset" diff --git a/host_vars/xps/system.yml b/host_vars/xps/system.yml index 53ed97b..c17ea8a 100644 --- a/host_vars/xps/system.yml +++ b/host_vars/xps/system.yml @@ -42,10 +42,6 @@ packages: - nvidia-utils - lib32-nvidia-utils -boot_configuration: - disk: /dev/nvme0n1 - partition: 1 - mkinitcpio_templates: - src: 'templates/xps/mkinitcpio/1-modules.conf.j2' dest: '/etc/mkinitcpio.conf.d/1-modules.conf' diff --git a/tasks/setup.yml b/tasks/setup.yml index e2c0d73..65f34fb 100644 --- a/tasks/setup.yml +++ b/tasks/setup.yml @@ -28,47 +28,56 @@ - name: Copy pacman configuration become: true ansible.builtin.template: - src: 'templates/pacman.j2' - dest: '/etc/pacman.conf' + src: "templates/pacman/config.j2" + dest: "/etc/pacman.conf" owner: root group: root - mode: '0644' + mode: "0644" - name: Create extra conf become: true ansible.builtin.file: - path: '/etc/pacman.d/extra.conf' + path: "/etc/pacman.d/extra.conf" owner: root group: root state: touch - mode: '0644' + mode: "0644" + +- name: Copy systemd-boot pacman hook + become: true + ansible.builtin.template: + src: "templates/pacman/hook.j2" + dest: "/etc/pacman.d/hooks/100-systemd-boot.hook" + owner: root + group: root + mode: "0644" - name: Setup Wezterm when: "'wezterm' in packages" block: - name: Create wezterm configuration dir ansible.builtin.file: - path: '{{ xdg_config_dir }}/wezterm/includes' + path: "{{ xdg_config_dir }}/wezterm/includes" state: directory - mode: '0755' + mode: "0755" - name: Copy wezterm configuration files ansible.builtin.template: - src: '{{ item.src }}' - dest: '{{ item.dest }}' - mode: '0755' + src: "{{ item.src }}" + dest: "{{ item.dest }}" + mode: "0755" loop: - - src: 'templates/wezterm/wezterm.lua.j2' - dest: '{{ xdg_config_dir }}/wezterm/wezterm.lua' + - src: "templates/wezterm/wezterm.lua.j2" + dest: "{{ xdg_config_dir }}/wezterm/wezterm.lua" - - src: 'templates/wezterm/includes/colors.lua.j2' - dest: '{{ xdg_config_dir }}/wezterm/includes/colors.lua' + - src: "templates/wezterm/includes/colors.lua.j2" + dest: "{{ xdg_config_dir }}/wezterm/includes/colors.lua" - - src: 'templates/wezterm/includes/fonts.lua.j2' - dest: '{{ xdg_config_dir }}/wezterm/includes/fonts.lua' + - src: "templates/wezterm/includes/fonts.lua.j2" + dest: "{{ xdg_config_dir }}/wezterm/includes/fonts.lua" - - src: 'templates/wezterm/includes/window.lua.j2' - dest: '{{ xdg_config_dir }}/wezterm/includes/window.lua' + - src: "templates/wezterm/includes/window.lua.j2" + dest: "{{ xdg_config_dir }}/wezterm/includes/window.lua" - name: Enable fstrim timer become: true @@ -153,53 +162,17 @@ - name: Copy mkinitcpio configuration files become: true ansible.builtin.template: - src: '{{ item.src }}' - dest: '{{ item.dest }}' - mode: '0755' - loop: '{{ mkinitcpio_templates }}' - when: '{{ mkinitcpio_templates | length > 0 }}' + src: "{{ item.src }}" + dest: "{{ item.dest }}" + mode: "0755" + loop: "{{ mkinitcpio_templates }}" + when: "{{ mkinitcpio_templates | length > 0 }}" - name: Regenerate initramfs images become: true - ansible.builtin.command: 'mkinitcpio --allpresets' + ansible.builtin.command: "mkinitcpio --allpresets" register: mkinitcpio_stats - name: Log mkinitcpio stdout ansible.builtin.debug: var: mkinitcpio_stats.stdout_lines - -- name: Create a Linux UEFI boot entry - become: true - ansible.builtin.command: efibootmgr \ - --create \ - --disk '{{ boot_configuration.disk }}' \ - --part '{{ boot_configuration.partition }}' \ - --label 'Arch Linux' \ - --loader '\EFI\Linux\linux.efi'\ - --unicode - --index 0 - register: efi_linux_stats - when: register_uefi_entries - -- name: Log efibootmgr stdout - ansible.builtin.debug: - var: efi_linux_stats.stdout_lines - when: register_uefi_entries - -- name: Create a Linux LTS UEFI boot entry - become: true - ansible.builtin.command: efibootmgr \ - --create \ - --disk '{{ boot_configuration.disk }}' \ - --part '{{ boot_configuration.partition }}' \ - --label 'Arch Linux LTS' \ - --loader '\EFI\Linux\linux-lts.efi'\ - --unicode - --index 1 - register: efi_linux_lts_stats - when: register_uefi_entries - -- name: Log efibootmgr LTS stdout - ansible.builtin.debug: - var: efi_linux_lts_stats.stdout_lines - when: register_uefi_entries diff --git a/tasks/systemd.yml b/tasks/systemd.yml index 4b6e6e5..4d196a7 100644 --- a/tasks/systemd.yml +++ b/tasks/systemd.yml @@ -26,3 +26,4 @@ dest: '{{ ansible_env.HOME }}/.local/bin/tmux_start' mode: '0740' force: false +# setup systemd-boot pacman hook diff --git a/templates/pacman.j2 b/templates/pacman/config.j2 similarity index 100% rename from templates/pacman.j2 rename to templates/pacman/config.j2 diff --git a/templates/pacman/hook.j2 b/templates/pacman/hook.j2 new file mode 100644 index 0000000..ebbec9c --- /dev/null +++ b/templates/pacman/hook.j2 @@ -0,0 +1,11 @@ +# {{ ansible_managed }} + +[Trigger] +Type = Package +Operation = Upgrade +Target = systemd + +[Action] +Description = Gracefully upgrading systemd-boot... +When = PostTransaction +Exec = /usr/bin/systemctl restart systemd-boot-update.service