205 lines
5 KiB
YAML
205 lines
5 KiB
YAML
- 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
|