Arch Linux Post Installation - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
Arch Linux Post-Installation Guide
Complete beginner-friendly guide to essential steps after installing Arch Linux, including system configuration, drivers, and software installation.
Table of Contents
- Initial System Setup
- Network Configuration
- Graphics Drivers
- Audio Configuration
- Essential Software
- Desktop Environment
- System Services
- User Configuration
- System Maintenance
Initial System Setup
First Boot
After installation:
- Login as root or your user account
- Check system status
- Verify network connection
- Update system
System Update
Update immediately:
# Update system
sudo pacman -Syu
# If errors occur, refresh keys
sudo pacman-key --refresh-keys
Explanation:
-Syu: Sync, update, upgrade- Updates all packages to latest versions
- Refreshes package database
Network Configuration
Enable NetworkManager
If NetworkManager was installed:
# Enable and start NetworkManager (recommended method)
sudo systemctl enable --now NetworkManager
# Check status
systemctl status NetworkManager
Connect to Network
Using NetworkManager:
# Text-based interface
nmtui
# Or use nmcli
nmcli device wifi list
nmcli device wifi connect "NetworkName" password "password"
GUI option:
# Install network manager applet
sudo pacman -S network-manager-applet
Static IP (Optional)
Configure static IP:
# Edit connection
sudo nmcli connection edit "ConnectionName"
# Set IP
set ipv4.addresses 192.168.1.100/24
set ipv4.gateway 192.168.1.1
set ipv4.dns "8.8.8.8 8.8.4.4"
set ipv4.method manual
save
quit
Graphics Drivers
Detect Graphics Card
Identify your GPU:
# List graphics hardware
lspci | grep VGA
# Or more detailed
lspci -k | grep -A 2 VGA
Expected output:
00:02.0 VGA compatible controller: Intel Corporation ...
01:00.0 VGA compatible controller: NVIDIA Corporation ...
NVIDIA Drivers
Install NVIDIA drivers:
# For modern NVIDIA GPUs
sudo pacman -S nvidia nvidia-utils nvidia-settings
# For older GPUs (before 600 series)
sudo pacman -S nvidia-470xx-dkms nvidia-settings
# For very old GPUs (before 400 series)
sudo pacman -S nvidia-390xx-dkms nvidia-settings
Verify installation:
# Check NVIDIA driver
nvidia-smi
# Or
glxinfo | grep "OpenGL renderer"
AMD Drivers
Install AMD drivers:
# Open-source drivers (recommended)
sudo pacman -S mesa xf86-video-amdgpu
# For older AMD GPUs
sudo pacman -S xf86-video-ati
Verify:
glxinfo | grep "OpenGL renderer"
Intel Graphics
Install Intel drivers:
# Intel graphics drivers
sudo pacman -S mesa xf86-video-intel
Usually works out of the box on modern systems.
Audio Configuration
PulseAudio
Install PulseAudio:
# Install PulseAudio
sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol
# Enable service
systemctl --user enable pulseaudio
systemctl --user start pulseaudio
Test audio:
# Test with speaker-test
speaker-test -c 2
# Or install audio player
sudo pacman -S vlc
PipeWire (Alternative)
Install PipeWire:
# Install PipeWire
sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack
# Enable services
systemctl --user enable pipewire pipewire-pulse
systemctl --user start pipewire pipewire-pulse
PipeWire is modern alternative to PulseAudio.
Essential Software
Text Editors
Install text editors:
# Vim
sudo pacman -S vim
# Nano (easier for beginners)
sudo pacman -S nano
# VS Code (optional)
yay -S visual-studio-code-bin
Web Browser
Install browsers:
# Firefox
sudo pacman -S firefox
# Chromium
sudo pacman -S chromium
# Google Chrome (AUR)
yay -S google-chrome
Media Players
Install media software:
# VLC
sudo pacman -S vlc
# MPV
sudo pacman -S mpv
# Codecs
sudo pacman -S gstreamer gst-plugins-good gst-plugins-bad gst-plugins-ugly
Office Software
Install office suite:
# LibreOffice
sudo pacman -S libreoffice-fresh
# PDF viewer
sudo pacman -S evince
Development Tools
Install development tools:
# Git
sudo pacman -S git
# Build tools
sudo pacman -S base-devel
# Python
sudo pacman -S python python-pip
# Node.js
sudo pacman -S nodejs npm
Desktop Environment
Install Desktop Environment
Popular options:
GNOME:
sudo pacman -S gnome gnome-extra
sudo systemctl enable gdm
sudo systemctl start gdm
KDE Plasma:
sudo pacman -S plasma kde-applications
sudo systemctl enable sddm
sudo systemctl start sddm
XFCE:
sudo pacman -S xfce4 xfce4-goodies
sudo pacman -S lightdm lightdm-gtk-greeter
sudo systemctl enable lightdm
sudo systemctl start lightdm
i3 (Window Manager):
sudo pacman -S i3-wm i3status i3lock dmenu
Display Manager
Display managers:
- GDM: GNOME Display Manager (for GNOME)
- SDDM: Simple Desktop Display Manager (for KDE)
- LightDM: Lightweight (for XFCE, etc.)
Enable display manager:
# Replace 'gdm' with your display manager
sudo systemctl enable gdm
sudo systemctl start gdm
System Services
Essential Services
Enable common services:
# NetworkManager
sudo systemctl enable NetworkManager
# Bluetooth
sudo systemctl enable bluetooth
# CUPS (printing)
sudo systemctl enable cups
# SSH (if needed)
sudo systemctl enable sshd
Service Management
Manage services:
# Enable service
sudo systemctl enable service-name
# Start service
sudo systemctl start service-name
# Check status
systemctl status service-name
# Disable service
sudo systemctl disable service-name
User Configuration
Sudo Configuration
Configure sudo:
# Edit sudoers
sudo visudo
Ensure wheel group has sudo:
%wheel ALL=(ALL) ALL
User Groups
Add user to groups:
# Audio group
sudo usermod -aG audio username
# Video group
sudo usermod -aG video username
# Wheel group (sudo)
sudo usermod -aG wheel username
Log out and back in for groups to take effect.
Shell Configuration
Configure shell:
# Install zsh (optional)
sudo pacman -S zsh
# Change shell
chsh -s /bin/zsh
# Install oh-my-zsh (optional)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
System Maintenance
Regular Updates
Update system regularly:
# Update system
sudo pacman -Syu
# Check for updates
pacman -Qu
Clean Package Cache
Clean old packages:
# Remove old packages
sudo pacman -Sc
# Remove all cached packages
sudo pacman -Scc
Remove Orphans
Remove unused packages:
# List orphans
pacman -Qdt
# Remove orphans
sudo pacman -Rns $(pacman -Qdtq)
System Information
Check system info:
# System information
neofetch
# Install neofetch
sudo pacman -S neofetch
# Or use inxi
sudo pacman -S inxi
inxi -F
Summary
This guide covered:
- Initial setup - First boot and updates
- Network - NetworkManager configuration
- Graphics - GPU drivers
- Audio - PulseAudio/PipeWire
- Software - Essential applications
- Desktop - Desktop environments
- Services - System services
- Users - User configuration
- Maintenance - System upkeep
Key Takeaways:
- Update system first
- Install graphics drivers
- Configure network
- Install desktop environment
- Set up essential software
- Enable needed services
Next Steps
- Arch Linux Package Management - Package management
- Arch Linux System Configuration - Advanced configuration
- Arch Linux Desktop Environments - DE setup
- ArchWiki General Recommendations: https://wiki.archlinux.org/title/General_recommendations
This guide is based on the ArchWiki General Recommendations. For the most up-to-date information, always refer to the official ArchWiki.