Move mkinitcpio/modprobe/sysctl configuration to base setup task

This commit is contained in:
Sonny Bakker 2024-09-09 09:09:30 +02:00
parent fec111584c
commit ebb8f8c2c2
12 changed files with 185 additions and 250 deletions

View file

@ -1,111 +1 @@
- name: remove the sysctl.d directory ---
become: true
file:
path: /etc/sysctl.d
state: absent
- name: recreate the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: directory
mode: 755
- name: copy sysctl files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/desktop/sysctl/99-sysrq.conf.j2',
dest: '/etc/sysctl.d/99-sysrq.conf'
}
- {
src: 'templates/desktop/sysctl/98-forward.conf.j2',
dest: '/etc/sysctl.d/98-foward.conf'
}
notify: reload sysctl configuration
- name: remove the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: absent
- name: recreate the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: directory
mode: 755
- name: copy modprobe files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/desktop/modprobe/99-amdgpu.conf.j2',
dest: '/etc/modprobe.d/99-amdgpu.conf'
}
- name: remove the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: absent
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: recreate the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: directory
mode: 755
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: copy mkinitcpio configuration files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/desktop/mkinitcpio/99-modules.conf.j2',
dest: '/etc/mkinitcpio.conf.d/99-amdgpu.conf'
}
- {
src: 'templates/desktop/mkinitcpio/linux.preset.j2',
dest: '/etc/mkinitcpio.d/linux.preset'
}
- {
src: 'templates/desktop/mkinitcpio/linux-lts.preset.j2',
dest: '/etc/mkinitcpio.d/linux-lts.preset'
}
- name: remove old initramfs files
become: true
file:
path: '{{ item }}'
state: absent
loop:
- /boot/initramfs-linux-lts-fallback.img
- /boot/initramfs-linux-fallback.img
- name: regenerate initramfs images
become: true
command: 'mkinitcpio --allpresets'
register: mkinitcpio_stats
- name: log mkinitcpio stdout
debug:
var: mkinitcpio_stats.stdout_lines
# TODO: provision systemd-boot

View file

@ -1,134 +1,2 @@
# TODO: set fan settings to `quiet` with smbios-thermal-ctl # TODO: set fan settings to `quiet` with smbios-thermal-ctl
- name: remove the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: absent
- name: recreate the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: directory
mode: 755
- name: copy sysctl files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/laptop/sysctl/99-sysrq.conf.j2',
dest: '/etc/sysctl.d/99-sysrq.conf'
}
- {
src: 'templates/laptop/sysctl/98-forward.conf.j2',
dest: '/etc/sysctl.d/98-foward.conf'
}
notify: reload sysctl configuration
- name: remove the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: absent
- name: recreate the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: directory
mode: 755
- name: copy kernel parameters template
become: true
template:
src: 'templates/laptop/cmdline.j2'
dest: '/etc/kernel/cmdline'
- name: remove the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: absent
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: recreate the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: directory
mode: 755
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: copy mkinitcpio configuration files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/laptop/mkinitcpio/99-modules.conf.j2',
dest: '/etc/mkinitcpio.conf.d/99-modules.conf'
}
- {
src: 'templates/laptop/mkinitcpio/99-hooks.conf.j2',
dest: '/etc/mkinitcpio.conf.d/99-hooks.conf'
}
- {
src: 'templates/laptop/mkinitcpio/linux.preset.j2',
dest: '/etc/mkinitcpio.d/linux.preset'
}
- {
src: 'templates/laptop/mkinitcpio/linux-lts.preset.j2',
dest: '/etc/mkinitcpio.d/linux-lts.preset'
}
- name: regenerate initramfs images
become: true
command: 'mkinitcpio --allpresets'
register: mkinitcpio_stats
- name: log mkinitcpio stdout
debug:
var: mkinitcpio_stats.stdout_lines
- name: create a Linux UEFI boot entry
become: true
command: efibootmgr \
--create \
--disk /dev/nvme0n1 \
--part 1 \
--label 'Arch Linux' \
--loader '\EFI\Linux\linux.efi'\
--unicode
register: efi_linux_stats
when: register_uefi_entry
- name: log efibootmgr stdout
debug:
var: efi_linux_stats.stdout_lines
when: register_uefi_entry
- name: create a Linux LTS UEFI boot entry
become: true
command: efibootmgr \
--create \
--disk /dev/nvme0n1 \
--part 1 \
--label 'Arch Linux LTS' \
--loader '\EFI\Linux\linux-lts.efi'\
--unicode
register: efi_linux_lts_stats
when: register_uefi_entry
- name: log efibootmgr LTS stdout
debug:
var: efi_linux_lts_stats.stdout_lines
when: register_uefi_entry

View file

@ -65,3 +65,131 @@
systemd: systemd:
name: fstrim.timer name: fstrim.timer
enabled: true enabled: true
- name: remove the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: absent
- name: recreate the sysctl.d directory
become: true
file:
path: /etc/sysctl.d
state: directory
mode: 755
- name: copy sysctl files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop:
- {
src: 'templates/{{ platform }}/sysctl/99-sysrq.conf.j2',
dest: '/etc/sysctl.d/99-sysrq.conf'
}
- {
src: 'templates/{{ platform }}/sysctl/98-forward.conf.j2',
dest: '/etc/sysctl.d/98-foward.conf'
}
notify: reload sysctl configuration
- name: remove the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: absent
- name: recreate the modprobe.d directory
become: true
file:
path: /etc/modprobe.d
state: directory
mode: 755
- name: copy modprobe configuration files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop: '{{ modprobe_templates }}'
when: modprobe_templates
- name: copy kernel parameters template
become: true
template:
src: 'templates/{{ platform }}/cmdline.j2'
dest: '/etc/kernel/cmdline'
- name: remove the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: absent
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: recreate the mkinitcpio directories
become: true
file:
path: '{{ item }}'
state: directory
mode: 755
loop:
- /etc/mkinitcpio.conf.d
- /etc/mkinitcpio.d
- name: copy mkinitcpio configuration files
become: true
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
loop: '{{ mkinitcpio_templates }}'
when: mkinitcpio_templates
- name: regenerate initramfs images
become: true
command: 'mkinitcpio --allpresets'
register: mkinitcpio_stats
- name: log mkinitcpio stdout
debug:
var: mkinitcpio_stats.stdout_lines
- name: create a Linux UEFI boot entry
become: true
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
debug:
var: efi_linux_stats.stdout_lines
when: register_uefi_entries
- name: create a Linux LTS UEFI boot entry
become: true
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
debug:
var: efi_linux_lts_stats.stdout_lines
when: register_uefi_entries

View file

@ -0,0 +1 @@
root=UUID=c5fe300d-97bf-476d-abd4-edfe7460bc81 rw bgrt_disable

View file

@ -4,6 +4,5 @@
PRESETS=('default') PRESETS=('default')
default_config="/etc/mkinitcpio.conf" default_uki="/boot/EFI/Linux/linux-lts.efi"
default_image="/boot/initramfs-linux-lts.img"
default_kver="/boot/vmlinuz-linux-lts" default_kver="/boot/vmlinuz-linux-lts"

View file

@ -4,6 +4,5 @@
PRESETS=('default') PRESETS=('default')
default_config="/etc/mkinitcpio.conf" default_uki="/boot/EFI/Linux/linux.efi"
default_image="/boot/initramfs-linux.img"
default_kver="/boot/vmlinuz-linux" default_kver="/boot/vmlinuz-linux"

View file

@ -1,5 +1,29 @@
platform_packages: [] platform_packages: []
modprobe_templates:
- {
src: 'templates/desktop/modprobe/99-amdgpu.conf.j2',
dest: '/etc/modprobe.d/99-amdgpu.conf'
}
mkinitcpio_templates:
- {
src: 'templates/desktop/mkinitcpio/1-modules.conf.j2',
dest: '/etc/mkinitcpio.conf.d/1-amdgpu.conf'
}
- {
src: 'templates/desktop/mkinitcpio/linux.preset.j2',
dest: '/etc/mkinitcpio.d/linux.preset'
}
- {
src: 'templates/desktop/mkinitcpio/linux-lts.preset.j2',
dest: '/etc/mkinitcpio.d/linux-lts.preset'
}
boot_configuration:
disk: /dev/sdc
partition: 1
vpn_default: vpn_default:
ip: '10.0.0.3' ip: '10.0.0.3'
subnet: '24' subnet: '24'

View file

@ -4,10 +4,28 @@ platform_packages:
- nvidia-prime - nvidia-prime
- nvidia-utils - nvidia-utils
- lib32-nvidia-utils - lib32-nvidia-utils
- systemd-ukify
- efibootmgr
register_uefi_entry: false boot_configuration:
disk: /dev/nvme0n1
partition: 1
mkinitcpio_templates:
- {
src: 'templates/laptop/mkinitcpio/1-modules.conf.j2',
dest: '/etc/mkinitcpio.conf.d/1-modules.conf'
}
- {
src: 'templates/laptop/mkinitcpio/2-hooks.conf.j2',
dest: '/etc/mkinitcpio.conf.d/2-hooks.conf'
}
- {
src: 'templates/laptop/mkinitcpio/linux.preset.j2',
dest: '/etc/mkinitcpio.d/linux.preset'
}
- {
src: 'templates/laptop/mkinitcpio/linux-lts.preset.j2',
dest: '/etc/mkinitcpio.d/linux-lts.preset'
}
vpn_default: vpn_default:
ip: '10.0.0.2' ip: '10.0.0.2'

View file

@ -1,6 +1,8 @@
xdg_config_dir: '{{ ansible_env.HOME }}/.config' xdg_config_dir: '{{ ansible_env.HOME }}/.config'
xdg_script_dir: '{{ ansible_env.HOME }}/.local/bin' xdg_script_dir: '{{ ansible_env.HOME }}/.local/bin'
register_uefi_entries: false
packages: packages:
- firefox - firefox
- mpv - mpv
@ -30,5 +32,11 @@ packages:
- pipewire-alsa - pipewire-alsa
- wireguard-tools - wireguard-tools
- otf-monaspace-nerd - otf-monaspace-nerd
- systemd-ukify
- efibootmgr
platform_packages: [] platform_packages: []
modprobe_templates: []
mkinitcpio_templates: []
boot_configuration: