Arch Linux • Rolling Release

Arch Linux
Workstation Post-Install Guide

Speed-optimized reflector mirrors, YAY AUR helper deployment, essential media & productivity tools, SDDM cleanup, and the high-performance CachyOS kernel.

01

Optimize Pacman Mirrors via Reflector

Mirror Ranking

Rank and filter the 20 fastest HTTPS Arch Linux mirrors worldwide, backup the default list, and enable automated weekly ranking via systemd timer.

Install reflector and backup existing mirrorlist:

bash
sudo pacman -S reflector --noconfirm
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

Generate fastest mirrorlist & enable systemd timer:

bash
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
sudo systemctl enable --now reflector.timer
02

Base Development Tools & Core Packages

Toolchain & Media

Install fundamental compilation tools required for PKGBUILD builds along with daily productivity, video editing, and terminal diagnostic utilities.

Install base-devel toolchain and essential packages:

bash
sudo pacman -S --needed base-devel git curl rsync
sudo pacman -S kdenlive obs-studio qbittorrent vlc fastfetch sddm-kcm --noconfirm
03

Build & Install YAY (AUR Helper)

AUR Package Manager

Clone and compile `yay` (Yet Another Yogurt) to easily install and update packages from the Arch User Repository.

bash
git clone https://aur.archlinux.org/yay.git
cd yay && makepkg -si --noconfirm && cd .. && rm -rf yay
04

Install Essential AUR Applications

AUR Binaries

Deploy official binary builds of Brave Browser, Visual Studio Code, and Free Download Manager directly via YAY.

bash
yay -S brave-bin visual-studio-code-bin freedownloadmanager --noconfirm
05

SDDM Theme Cleanup & Pacman Keyring Init

Maintenance

Remove unused default legacy SDDM themes to keep the display manager lightweight, and ensure pacman security keyrings are initialized.

Remove obsolete default SDDM themes:

bash
sudo rm -rf /usr/share/sddm/themes/elarun/ /usr/share/sddm/themes/maldives/ /usr/share/sddm/themes/maya/

Initialize & verify Pacman GPG Keys:

bash
sudo pacman-key --init && sudo pacman-key --populate archlinux
06

Install High-Performance CachyOS Kernel

Linux Kernel

Integrate the CachyOS optimized repository with BORE/EEVDF schedulers and install `linux-cachyos` for lower latency, higher FPS, and improved system responsiveness.

1. Add CachyOS Repository:

bash
curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
sudo ./cachyos-repo.sh && cd .. && rm -rf cachyos-repo cachyos-repo.tar.xz

2. Install CachyOS Kernel, Headers & Update GRUB:

bash
sudo pacman -S linux-cachyos linux-cachyos-headers --noconfirm
sudo grub-mkconfig -o /boot/grub/grub.cfg
07

Reboot Verification & Remove Stock Kernel

Verification

Reboot into the newly installed CachyOS kernel, verify with uname -r, and remove the stock kernel to free disk space.

1. Reboot to engage new kernel:

bash
systemctl reboot

2. After logging in, verify active kernel:

bash
uname -r
# Expected output containing: linux-cachyos

3. Remove old stock Linux kernel:

bash
sudo pacman -Rs linux --noconfirm
sudo grub-mkconfig -o /boot/grub/grub.cfg
07

Pacman Parallel Downloads & Scientific Toolchain

Recommended

Enable concurrent multi-threaded package downloads, colorized terminal output, and deploy essential scientific mathematics packages (R, Python, BLAS, LAPACK).

1. Enable Parallel Downloads & Color in Pacman:

bash
sudo sed -i 's/#Color/Color\nILoveCandy/' /etc/pacman.conf
sudo sed -i 's/#ParallelDownloads = 5/ParallelDownloads = 5/' /etc/pacman.conf

2. Install Scientific & Statistical Toolchain:

bash
sudo pacman -S r python python-pip gcc-fortran blas lapack --noconfirm

One-Shot Arch Workstation Deployer

Full Unattended Script

Execute the complete, automated post-install script. It configures fastest reflector HTTPS mirrors, builds YAY, removes obsolete SDDM themes, and integrates the optimized CachyOS kernel.

arch_fast_setup.sh
#!/usr/bin/env bash
# ==============================================================================
# Arch Linux Workstation Automated Post-Install Script
# Author: Md Niaz Uzzaman (https://niazuzzaman.com)
# ==============================================================================
set -e

echo "=== [1/6] Mirror Ranking via Reflector ==="
sudo pacman -S reflector --noconfirm
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
sudo systemctl enable --now reflector.timer

echo "=== [2/6] Installing Base Development Tools & Multimedia ==="
sudo pacman -S --needed base-devel git curl rsync --noconfirm
sudo pacman -S kdenlive obs-studio qbittorrent vlc fastfetch sddm-kcm --noconfirm

echo "=== [3/6] Building & Installing YAY (AUR Helper) ==="
if ! command -v yay &> /dev/null; then
    TEMP_YAY=$(mktemp -d)
    git clone https://aur.archlinux.org/yay.git "$TEMP_YAY"
    cd "$TEMP_YAY"
    makepkg -si --noconfirm
    cd ~
    rm -rf "$TEMP_YAY"
fi

echo "=== [4/6] Installing Essential AUR Binaries ==="
yay -S brave-bin visual-studio-code-bin freedownloadmanager --noconfirm

echo "=== [5/6] Cleaning Obsolete SDDM Themes & Initializing Keyrings ==="
sudo rm -rf /usr/share/sddm/themes/elarun/ /usr/share/sddm/themes/maldives/ /usr/share/sddm/themes/maya/
sudo pacman-key --init && sudo pacman-key --populate archlinux

echo "=== [6/6] Installing CachyOS Optimized Kernel ==="
TEMP_CACHY=$(mktemp -d)
cd "$TEMP_CACHY"
curl -s https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
sudo ./cachyos-repo.sh
cd ~
rm -rf "$TEMP_CACHY"

sudo pacman -S linux-cachyos linux-cachyos-headers --noconfirm
sudo grub-mkconfig -o /boot/grub/grub.cfg

echo "======================================================================"
echo " Setup complete! Reboot your machine with: sudo systemctl reboot"
echo " After rebooting, verify with 'uname -r', then remove old kernel:"
echo "   sudo pacman -Rs linux && sudo grub-mkconfig -o /boot/grub/grub.cfg"
echo "======================================================================"