Step-by-Step Arch Linux Installation & Post-Setup

Complete Arch Linux Installation and Configuration Guide
Introduction
This guide provides a step-by-step process for installing Arch Linux and setting up essential configurations, including networking, user management, and software installation. This is a minimal setup guide without any graphical user interface (GUI) installation.
Step 1: Boot Into Arch Linux Live Environment
Boot from the Arch Linux installation media and verify the internet connection using:
ping -c 3 archlinux.org
If it fails, follow network setup steps below.
Step 2: Set Up Network Connection
List available network interfaces:
ip link
Connect to Wi-Fi using iwctl
:
iwctl
Inside iwctl
, run the following commands:
device list # List wireless devices
station wlan0 scan # Scan for available networks
station wlan0 get-networks # Show available networks
station wlan0 connect "SSID" # Connect to a network (replace SSID with actual network name)
Exit iwctl
and verify the connection:
ping -c 3 archlinux.org
For NetworkManager users:
pacman -S networkmanager --noconfirm
systemctl enable --now NetworkManager
Verify connection again:
ping -c 3 archlinux.org
Step 3: Partition and Format the Disk
Check available disks:
fdisk -l
Partition the disk using:
cfdisk /dev/sdX # Replace X with your drive letter
Create partitions and format them:
mkfs.ext4 /dev/sdX1 # Format root partition
mkfs.vfat -F32 /dev/sdX2 # Format EFI partition (if using UEFI)
Step 4: Mount and Install Arch Linux
mount /dev/sdX1 /mnt
pacstrap /mnt base linux linux-firmware
Generate fstab:
genfstab -U /mnt >> /mnt/etc/fstab
Step 5: System Configuration
Chroot into the new system:
arch-chroot /mnt
Set time zone:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
Enable localization:
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Set hostname:
echo "archlinux" > /etc/hostname
Step 6: Set Root Password and Create User
passwd
Create a new user:
useradd -m -G wheel -s /bin/bash dawood
passwd dawood
Grant sudo privileges:
EDITOR=nano visudo
Uncomment:
%dawood ALL=(ALL:ALL) ALL
Step 7: Install and Configure Bootloader
For systemd-boot (UEFI):
bootctl install
echo "title Arch Linux" > /boot/loader/entries/arch.conf
echo "linux /vmlinuz-linux" >> /boot/loader/entries/arch.conf
echo "initrd /initramfs-linux.img" >> /boot/loader/entries/arch.conf
echo "options root=/dev/sdX1 rw" >> /boot/loader/entries/arch.conf
For GRUB (BIOS/UEFI):
pacman -S grub os-prober --noconfirm
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Generate GRUB config:
grub-mkconfig -o /boot/grub/grub.cfg
Exit chroot and reboot:
exit
reboot
Step 8: Post-Installation Configurations
Login as the new user:
su - dawood
Enable networking:
systemctl enable --now NetworkManager
Check internet:
ping -c 3 archlinux.org
Step 9: Install Essential Packages
sudo pacman -Syu
sudo pacman -S base-devel neofetch git wget curl tree xdg-user-dirs --noconfirm
Set Neofetch to run on terminal start:
echo "neofetch" >> ~/.bashrc
Step 10: Utilities Installation
sudo pacman -S os-prober xdg-user-dirs tree ranger thunar wezterm dmenu nitrogen bluez bluez-utils --noconfirm
Install Yay for AUR package management:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Install Google Chrome and Visual Studio Code:
yay -S google-chrome visual-studio-code-bin --noconfirm
Verify Yay installation:
yay --version
yay -Syu
Step 11: Install and Configure SSH (Optional)
sudo pacman -S openssh --noconfirm
sudo systemctl enable --now sshd
Check SSH status:
systemctl status sshd
Connect via SSH:
ssh dawood@your-ip-address
Conclusion
With these steps, you've successfully installed Arch Linux, set up networking, created a user, installed X11, configured WezTerm, installed essential software, and enabled SSH for remote access.
Enjoy your minimal and efficient Arch Linux setup!
Haris
FAST (NUCES)
BS Computer Science | Class of 2027
๐ GitHub: https://github.com/Zenvila
๐ LinkedIn: https://www.linkedin.com/in/haris-shahzad-7b8746291/
๐ Member: COLAB (Research Lab)
Subscribe to my newsletter
Read articles from Zenvila directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Zenvila
Zenvila
I'm Haris aka Zen, currently in my 4th semester of Computer Science at FAST-NUCES and a member of COLAB (Research Lab) in Tier 3. I'm currently exploring AI/ML in its early stages, and also focusing on improving my problem-solving techniques. ๐ง Proud user of Arch Linux | Command line is my playground. I'm interested in Automation & Robotics Automation enthusiast on a mission to innovate! ๐ Passionate about turning manual tasks into automated brilliance.