TechHeart’s 2025 Arch Linux (w/ Sauce!) Install Guide
##💾 Will be updated to a full article shortly…
localectl list-keymaps | grep <country>
loadkeys <country>
ping 8.8.8.8
ip a
iwctl --passphrase <SSID_PASSWORD> station <wlan0> connect <SSID_NAME>
pacman -Sy reflector
reflector --country <US> --age 12 --latest 10 --protocol https --save /etc/pacman.d/mirrorlist
cat /etc/pacman.d/mirrorlist
cfdisk /dev/<sda>
lsblk
cryptsetup -y -v luksFormat /dev/<sda2>
cryptsetup open /dev/<sda2> luksroot
lsblk
mkfs.ext4 /dev/mapper/luksroot
mkfs.fat -F32 /dev/<sda1>
mount /dev/mapper/luksroot /mnt
mkdir /mnt/boot
mount /dev/<sda1> /mnt/boot
lsblk
pacstrap /mnt base linux linux-firmware nano vim <intel-ucode>
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab
arch-chroot /mnt
dd if=/dev/zero of=/swapfile bs=1M count=16384 status=progress
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
<nano> / <vim> /etc/fstab
----- Insert to /etc/fstab -----
# swap file
/swapfile none swap defaults 0 0
----- -----
ln -sf /usr/share/zoneinfo/<America>/<Los_Angeles> /etc/localtime
hwclock --systohc
<nano> / <vim> /etc/locale.gen
locale-gen
echo LANG=<en_US.UTF8> >> /etc/locale.conf
echo KEYMAP=<us> >> /etc/vconsole.conf
echo <HOSTNAME> >> /etc/hostname
<nano> / <vim> /etc/hosts
----- Insert to /etc/hosts -----
127.0.0.1 localhost
::1 localhost
127.0.0.1 <arch>.localdomain <arch>
----- -----
passwd
pacman -S base-devel bluez bluez-utils cups dialog dosfstools efibootmgr git grub linux-headers mtools network-manager-applet networkmanager os-prober pulseaudio-bluetooth reflector wireless_tools wpa_supplicant xdg-user-dirs xdg-utils
<nano> / <vim> /etc/mkinitcpio.conf
----- Insert to /etc/mkinitcpio.conf -----
<after "block"> encrypt <before "filesystems">
----- -----
mkinitcpio -p linux
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
blkid
<Find crypto_LUKS UUID - Copy it down!>
<nano> / <vim> /etc/default/grub
----- Insert to /etc/default/grub -----
<after GRUB_CMDLINE_LINUX_DEFAULT="loglevel 3 quiet> cryptdevice=UUID=<YOUR_UUID>:luksroot root=/dev/mapper/luksroot <before last ">
----- -----
grub-mkconfig -o /boot/grub/grub.cfg
systemctl enable NetworkManager
systemctl enable bluetooth
systemctl enable NetworkManager-dispatcher.service
useradd -mG wheel <username>
passwd <username>
EDITOR=<vim> / <nano>
visudo
----- Insert in visudo -----
<uncomment %wheel ALL=(ALL:ALL) ALL> (Remove the "# ')
----- -----
[After rebooting into Arch Linux installation]
nmtui
cd Downloads/
git clone https://aur.archlinux.org/paru.git
cd paru/
makepkg -si
cd ..
rm -rf paru/
sudo pacman -S xf86-video-intel
<amdpgu>
<nvidea nvidea-utils nvidea-settings>
git clone --depth 1 https://gitlab.com/VandalByte/dedsec-grub-theme.git
cd dedsec-grub-theme/
sudo python3 dedsec-theme.py --install
sudo reboot now
sudo pacman -S plasma-meta
sudo pacman -S kde-applications-meta
sudo systemctl enable sddm
sudo systemctl status sddm
sudo reboot now
cd Downloads\
paru -S plymouth-theme-optimus-git
paru -S plymouth-git
sudo <vim> / <nano> /etc/mkinitcpio.conf
----- Insert in /etc/mkinitcpio.conf -----
<after block>
plymouth
<before encrypt>
----- -----
sudo <vim> / <nano> /etc/default/grub
----- Insert in /etc/default/grub -----
<after quiet>
splash
<before cryptdevice>
----- -----
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo plymouth-set-default-theme -R optimus
sudo reboot now