Work said: here's a laptop, go set it up.
parted /dev/nvme0n1p1
mktable gpt
mkpart efi 0 1G
set 1 esp on
mkpart primary 1G 100%
cryptsetup luksFormat /dev/nvme0n1p1 root
cryptsetup open /dev/nvme0n1p2
mkfs.ext4 -i 1024 //dev/mapper/root
mount /dev/mapper/root /mnt
mkfs.fat -F 32 /dev/nvme0n1p2
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
timedatectl set-ntp true
iwctl station wlan0 scan
iwctl station wlan0 connect $AP_NAME
reflector --save /etc/pacman.d/mirrorlist -f 5 -p https
pacstrap /mnt base base-devel linux linux-firmware intel-ucode iwd zsh zsh-completions terminus-font git neovim pam-u2f
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
passwd
chsh -s /bin/zsh
rm /etc/skel/.bash*
groupadd sudo
echo '%sudo ALL=(ALL) ALL' > /etc/sudoers.d/sudo
useradd -m -G adm,sudo -s /bin/zsh sean
passwd sean
echo "root /dev/nvme0n1p2 none password-echo=no,fido2-device=auto" >> /etc/crypttab
mv /etc/crypttab /etc/crypttab.initramfs
echo "/dev/mapper/root / ext4 rw,noatime 0 0" >> /etc/fstab
/etc/fstab
/etc/mkinitcpio.conf
set HOOKS=(base systemd autodetect keyboard sd-vconsole modconf block sd-encrypt filesystems fsck)
systemd-cryptenroll --fido2-device=auto /dev/nvme0n1p2
echo $HOSTNAME > /etc/hostname
sed -i 's/#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo FONT=ter-128n > /etc/vconsole.conf
echo '[Match]' >> /etc/systemd/network/12-wifi.network
echo 'Name = wl*' >> /etc/systemd/network/12-wifi.network
echo '[Network]' >> /etc/systemd/network/12-wifi.network
echo 'DHCP = ipv4' >> /etc/systemd/network/12-wifi.network
echo 'IPForward = yes' >> /etc/systemd/network/12-wifi.network
/etc/pam.d/system-auth
set auth sufficient pam_u2f.so cue origin=pam://$HOSTNAME appid=pam://$HOSTNAME authfile=/etc/u2f_keys
pamu2fcfg -u sean -o pam://$HOSTNAME -i pam://$HOSTNAME >> /etc/u2f_keys
1st keypamu2fcfg -n -o pam://$HOSTNAME -i pam://$HOSTNAME >> /etc/u2f_keys
additional keysmkinitcpio -p linux
bootctl install
echo default arch >> /boot/loader/loader.conf
echo timeout 0 >> /boot/loader/loader.conf
echo console-mode max >> /boot/loader/loader.conf
echo title Arch Linux >> /boot/loader/entries/arch.conf
echo linux /vmlinuz-linux >> /boot/loader/entries/arch.conf
echo initrd /intel-ucode.img >> /boot/loader/entries/arch.conf
echo initrd /initramfs-linux.img >> /boot/loader/entries/arch.conf
echo options root=/dev/mapper/root quiet rw >> /boot/loader/entries/arch.conf
timedatectl set-timezone Europe/London
systemcctl enable --now systemd-{networkd,resolved,timesyncd} iwd
iwctl station wlan0 scan
iwctl station wlan0 connect $AP_NAME
git clone https://github.com/seankhliao/.config
.config/git/config
nvim
pacman -S bat exa fzf git-delta htop jq openssh ripgrep rsync unzip xsv zip
./yay -S yay-bin
ssh-keygen -t ed25519
pacman -S sway swaylock swaybg slurp grim mako i3status noto-fonts{,-cjk,-emoji} pipewire{,-pulse} pulsemixer wl-clipboard-x11 xdg-desktop-portal-wlr
systemctl enable --user --now pipewire{,-pulse}
systemctl enable --now bluetooth