Pos-Installation

Double Checking

# sorry I'm neurotic

  • Check the timesyncd service: timedatectl status
  • Refresh the system, including the package database: sudo pacman -Syyu
  • Make sure some basic system packages are installed:
sudo pacman -S --needed base-devel bash curl gcc git ncurses xz zstd

Installing Some Compilers

  • clang: sudo pacman -S clang
  • go: sudo pacman -S go
  • lua: sudo pacman -S lua
  • rustup:
sudo pacman -S rustup
rustup update stable

Graphic Drivers

OpenGL

  • Install mesa:
sudo pacman -S mesa

AMD

  • For Vulkan support:
sudo pacman -S vulkan-radeon

Nvidia

  • Install the nvidia package:
sudo pacman -S nvidia

UKI

Busybox

  • Install busybox:
sudo pacman -S busybox

Microcode

  • Install amd-ucode or intel-ucode according with your CPU.
sudo pacman -S amd-ucode
sudo pacman -S intel-ucode

Booster

  • Install booster:
sudo pacman -S booster
  • Set the configuration file accordingly:
sudo nano /etc/booster.yaml
extra_files: busybox,fsck,fsck.ext4
modules_force_load: amdgpu,hid_generic,usbhid
  • For NVIDIA you can replace amdgpu with the following:
modules_force_load: nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm

Ukify

  • Install systemd-ukify:
sudo pacman -S systemd-ukify
  • Set the configuration accordingly:
sudo nano /etc/ukify.conf
[UKI]
Linux=/boot/vmlinuz-linux
Initrd=/boot/amd-ucode.img /boot/booster-linux.img
Cmdline=@/etc/kernel/cmdline
OSRelease=@/etc/os-release
Splash=/usr/share/systemd/bootctl/splash-arch.bmp

Kernel-install

  • Set the install.conf file:
sudo nano /etc/kernel/install.conf
layout=uki
uki_generator=ukify
  • Set the ukify configuration:
sudo nano /etc/kernel/uki.conf
[UKI]
Linux=/boot/vmlinuz-linux
Initrd=/boot/amd-ucode.img /boot/booster-linux.img
Cmdline=@/etc/kernel/cmdline
OSRelease=@/etc/os-release
Splash=/usr/share/systemd/bootctl/splash-arch.bmp
  • Verify the current kernel-install configuration:
kernel-install inspect

Kernel Command Line

  • Check the parameters your system was booted up with:
cat /proc/cmdline
  • Include new kernel parameters to the UKI:
sudo nano /etc/kernel/cmdline

rEFInd

  • Install refind package: sudo pacman -S refind
  • Install it with the refind-install script: refind-install
  • Start an interactive shell as root: su
  • Create the themes directory inside refind installation path:
cd /efi/EFI/refind
mkdir themes
  • Clone the catppuccin repo inside the themes directory:
cd themes
git clone https://github.com/catppuccin/refind.git catppuccin
  • Go back to the refind directory:
cd /efi/EFI/refind
  • Edit the refind.conf, adding a new menuentry for the systemd-boot and also including the mocha.conf file:
nano refind.conf
menuentry "Arch Linux" {
    icon /EFI/refind/themes/catppuccin/assets/mocha/icons/os_arch.png
    volume "ARCHIE"
    loader /EFI/systemd/systemd-bootx64.efi
}

include themes/catppuccin/mocha.conf
  • Exit the interactive shell: exit

Package Manager

Pacman

  • Update pacman configuration file:
sudo nano /etc/pacman.conf
# Misc options
#UseSyslog
Color
ILoveCandy
#NoProgressBar
#CheckSpace
VerbosePkgLists
ParallelDownloads = 5

Yay

  • Create and cd into the apps directory:
mkdir apps && cd apps
  • Install yay:
git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
# I'm not sure about this one
yay -Y --gendb

Additional Pacman Hooks

Install extra pacman hooks for the kernel-install:

yay -S pacman-hook-kernel-install

Generating the UKI

  • Reinstall the kernel package to generate the unified kernel image:
sudo pacman -S linux
  • Check the current available boot entries:
sudo bootctl list

If everything seems correct, reboot the system: reboot