arch-setup/tasks/setup.yml
2025-12-18 15:00:37 +01:00

179 lines
4.3 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/config.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: 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"
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