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
|
||||
|
||||
- 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:
|
||||
name: fstrim.timer
|
||||
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')
|
||||
|
||||
default_config="/etc/mkinitcpio.conf"
|
||||
default_image="/boot/initramfs-linux-lts.img"
|
||||
default_uki="/boot/EFI/Linux/linux-lts.efi"
|
||||
default_kver="/boot/vmlinuz-linux-lts"
|
||||
|
|
|
|||
|
|
@ -4,6 +4,5 @@
|
|||
|
||||
PRESETS=('default')
|
||||
|
||||
default_config="/etc/mkinitcpio.conf"
|
||||
default_image="/boot/initramfs-linux.img"
|
||||
default_uki="/boot/EFI/Linux/linux.efi"
|
||||
default_kver="/boot/vmlinuz-linux"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,29 @@
|
|||
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:
|
||||
ip: '10.0.0.3'
|
||||
subnet: '24'
|
||||
|
|
|
|||
|
|
@ -4,10 +4,28 @@ platform_packages:
|
|||
- nvidia-prime
|
||||
- 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:
|
||||
ip: '10.0.0.2'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
xdg_config_dir: '{{ ansible_env.HOME }}/.config'
|
||||
xdg_script_dir: '{{ ansible_env.HOME }}/.local/bin'
|
||||
|
||||
register_uefi_entries: false
|
||||
|
||||
packages:
|
||||
- firefox
|
||||
- mpv
|
||||
|
|
@ -30,5 +32,11 @@ packages:
|
|||
- pipewire-alsa
|
||||
- wireguard-tools
|
||||
- otf-monaspace-nerd
|
||||
- systemd-ukify
|
||||
- efibootmgr
|
||||
|
||||
platform_packages: []
|
||||
modprobe_templates: []
|
||||
mkinitcpio_templates: []
|
||||
|
||||
boot_configuration:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue