Move mkinitcpio/modprobe/sysctl configuration to base setup task
This commit is contained in:
parent
fec111584c
commit
ebb8f8c2c2
12 changed files with 185 additions and 250 deletions
|
|
@ -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
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
|
||||||
128
tasks/setup.yml
128
tasks/setup.yml
|
|
@ -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
|
||||||
|
|
|
||||||
1
templates/desktop/cmdline.j2
Normal file
1
templates/desktop/cmdline.j2
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
root=UUID=c5fe300d-97bf-476d-abd4-edfe7460bc81 rw bgrt_disable
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue