- name: Provision pollkit administrator configuration become: true ansible.builtin.template: src: 'templates/polkit.j2' dest: '/etc/polkit-1/rules.d/49-nopasswd_global.rules' mode: '0755' - name: Install shared packages become: true community.general.pacman: name: '{{ packages }}' - name: Copy reflector configuration become: true ansible.builtin.template: src: 'templates/reflector.j2' dest: '/etc/xdg/reflector/reflector.conf' mode: '0600' # started by weekly timer - name: Disable reflector become: true ansible.builtin.systemd: name: reflector state: stopped enabled: false - name: Copy pacman configuration become: true ansible.builtin.template: src: 'templates/pacman.j2' dest: '/etc/pacman.conf' owner: root group: root mode: '0644' - name: Create extra conf become: true ansible.builtin.file: path: '/etc/pacman.d/extra.conf' owner: root group: root state: touch mode: '0644' - name: Setup Wezterm when: "'wezterm' in packages" block: - name: Create wezterm configuration dir ansible.builtin.file: path: '{{ xdg_config_dir }}/wezterm/includes' state: directory mode: '0755' - name: Copy wezterm configuration files ansible.builtin.template: 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/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/window.lua.j2' dest: '{{ xdg_config_dir }}/wezterm/includes/window.lua' - name: Enable fstrim timer become: true ansible.builtin.systemd: name: fstrim.timer enabled: true - name: Remove the sysctl.d directory become: true ansible.builtin.file: path: /etc/sysctl.d state: absent - name: Recreate the sysctl.d directory become: true ansible.builtin.file: path: /etc/sysctl.d state: directory mode: '0755' - name: Copy sysctl files become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' mode: '0755' loop: - src: 'templates/sysctl/99-sysrq.conf.j2' dest: '/etc/sysctl.d/99-sysrq.conf' - src: 'templates/sysctl/98-forward.conf.j2' dest: '/etc/sysctl.d/98-foward.conf' notify: reload sysctl configuration - name: Remove the modprobe.d directory become: true ansible.builtin.file: path: /etc/modprobe.d state: absent - name: Recreate the modprobe.d directory become: true ansible.builtin.file: path: /etc/modprobe.d state: directory mode: '0755' - name: Copy modprobe configuration files become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' mode: '0755' loop: '{{ modprobe_templates }}' when: modprobe_templates - name: Copy kernel parameters template become: true ansible.builtin.template: src: 'templates/{{ ansible_hostname }}/cmdline.j2' dest: '/etc/kernel/cmdline' mode: '0755' - name: Remove the mkinitcpio directories become: true ansible.builtin.file: path: '{{ item }}' state: absent loop: - /etc/mkinitcpio.conf.d - /etc/mkinitcpio.d - name: Recreate the mkinitcpio directories become: true ansible.builtin.file: path: '{{ item }}' state: directory mode: '0755' loop: - /etc/mkinitcpio.conf.d - /etc/mkinitcpio.d - 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 }}' - name: Regenerate initramfs images become: true 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