My Minimal Arch Linux Post-Install Setup
🐧 Minimal Arch Post-Install Setup
Just personal notes for my own reference. Might help others too.
🕒 Fix Dual Boot Time Drift (Windows ↔ Linux)
Windows and Linux handle hardware clocks differently. To prevent Windows from showing the wrong time:
timedatectl set-local-rtc 1
📶 Connect to WiFi via nmcli
If you’re using NetworkManager, connect to WiFi like this:
nmcli device wifi connect "WiFi Name" --ask
📦 Install Essential Packages
sudo pacman -S neovim git base-devel fastfetch
🎨 Enable Pacman Color Output
Edit /etc/pacman.conf and uncomment this line:
Color
🚀 Install AUR Helper (Yay)
Using Yay to manage AUR packages:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
🧭 Setup GRUB Bootloader
Install GRUB-related packages
# Optional theme
sudo pacman -S breeze-grub os-prober
# From AUR
yay -S update-grub
breeze-grub: Optional GRUB themeos-prober: Detects other OSesupdate-grub: Wrapper forgrub-mkconfig
Configure GRUB
Edit /etc/default/grub:
# No countdown
GRUB_TIMEOUT=-1
# Enable OS detection
GRUB_DISABLE_OS_PROBER=false
# Set the theme (Optional)
GRUB_THEME="/usr/share/grub/themes/breeze/theme.txt"
Mount Windows EFI Partition
To detect Windows in GRUB:
# List all available drives and partitions
sudo fdisk -l
# Find the Windows EFI partition and mount it
sudo mount /dev/nvme0n1p1 /mnt
# Update grub config
sudo update-grub
# Unmount Windows EFI partition
sudo umount /mnt
# Reboot the system
sudo reboot
🖥️ Install Display Manager (Ly)
Ly is a lightweight TUI display manager:
sudo pacman -S ly
sudo systemctl enable --now ly.service
You’ll be redirected to Ly’s login screen after enabling.
🎮 Install NVIDIA Drivers
sudo pacman -S nvidia-dkms nvidia-utils egl-wayland linux-headers
More info: Hyprland NVIDIA Setup
After reboot:
nvidia-smi # Check GPU info
cat /sys/module/nvidia_drm/parameters/modeset # Should return Y
🧙 Additional Setup: Zsh + Oh-My-Zsh
Install Zsh
sudo pacman -S zsh
# Set default shell to Zsh
chsh -s $(which zsh)
Logout and log back in. Confirm with:
# Should return /bin/zsh or similar
echo $SHELL
Install Oh-My-Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Customize .zshrc as needed. Edit the theme and I like to replace the arrow prompt with a $.
✨ Final Touch
Run fastfetch to enjoy a cozy system info splash.