arch-setup/tasks/setup.yml

178 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