Post Installation Setup - buggerman/re-arch GitHub Wiki
██████╗ ███████╗ █████╗ ██████╗ ██████╗██╗ ██╗
██╔══██╗██╔════╝ ██╔══██╗██╔══██╗██╔════╝██║ ██║
██████╔╝█████╗ ████╗███████║██████╔╝██║ ███████║
██╔══██╗██╔══╝ ╚═══╝██╔══██║██╔══██╗██║ ██╔══██║
██║ ██║███████╗ ██║ ██║██║ ██║╚██████╗██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
RE-ARCH Post-Installation Setup
Essential steps and recommendations after successful RE-ARCH installation.
🎉 Installation Complete! Now What?
🔄 First Boot (2-3 minutes)
After installation, your first boot will take slightly longer as the system:
- Initializes user accounts and permissions
- Configures desktop environment settings
- Sets up package management repositories
- Starts system services for the first time
This is normal and only happens once.
✅ Success Checklist - Verify Everything Works
Before proceeding with customization, verify your RE-ARCH installation is working correctly:
1. System Boot
- System boots to login screen without errors
- Login screen displays correctly (SDDM/GDM/LightDM)
- No error messages during boot process
2. Desktop Environment
- Can log in with default credentials (
user
/rearch
) - Desktop environment loads completely
- System tray and taskbar are functional
- Window management works (minimize, maximize, close)
3. Network Connectivity
- Internet connection is working
- Can browse websites
- Package managers can connect (try
sudo pacman -Sy
)
4. Audio System
- Audio devices are detected
- Sound plays correctly
- Volume controls work
5. Display and Graphics
- Screen resolution is correct
- Multiple monitors work (if applicable)
- Graphics acceleration is functional
If any item fails, see the Troubleshooting page before proceeding.
🔧 Essential First Steps After Login
1. Change Default Credentials (CRITICAL)
For security, change the default password immediately:
# Change password for current user
passwd
# Optional: Change username (requires advanced knowledge)
# See "Advanced User Management" section below
2. Install Web Browser (REQUIRED)
No browser is included by default. Install via Flatpak:
# Firefox (recommended)
flatpak install flathub org.mozilla.firefox
# Chrome
flatpak install flathub com.google.Chrome
# Chromium
flatpak install flathub org.chromium.Chromium
# Brave
flatpak install flathub com.brave.Browser
3. Install AUR Helper (OPTIONAL)
If you plan to use AUR packages:
# Install dependencies
sudo pacman -S base-devel git
# Clone and build paru
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
cd ..
rm -rf paru
# Verify installation
paru --version
4. Set Up Flatpak Applications
Install essential applications via Flatpak:
# Office suite
flatpak install flathub org.libreoffice.LibreOffice
# Media player
flatpak install flathub org.videolan.VLC
# Image editor
flatpak install flathub org.gimp.GIMP
# Code editor
flatpak install flathub com.visualstudio.code
# Communication
flatpak install flathub com.discordapp.Discord
5. Configure Automatic Updates
Set up automatic updates for better security:
# Enable automatic Flatpak updates (requires manual setup)
# Create /etc/systemd/system/flatpak-update.service and .timer first
# OR use manual updates: flatpak update
# Manual update checking (recommended approach)
# Check for updates regularly: sudo pacman -Syu && flatpak update
🎨 Desktop Environment Customization
KDE Plasma
Essential customization:
- System Settings → Appearance → Global Theme
- Right-click desktop → Configure Desktop and Wallpaper
- System Settings → Shortcuts → Global Shortcuts
- System Settings → Startup and Shutdown → Autostart
Recommended widgets:
- System Monitor
- Weather
- Application Launcher alternatives
GNOME
Essential customization:
- Settings → Appearance → Background
- Settings → Keyboard → Keyboard Shortcuts
- Install GNOME Extensions: https://extensions.gnome.org/
- Settings → Privacy → Screen Lock
Recommended extensions:
- Dash to Dock
- AppIndicator Support
- User Themes
XFCE
Essential customization:
- Settings → Appearance → Style
- Settings → Desktop → Background
- Right-click panel → Panel → Panel Preferences
- Settings → Window Manager → Keyboard
Recommended additions:
- Whisker Menu
- Panel plugins
- Thunar custom actions
Hyprland
Essential customization:
- Edit config:
~/.config/hypr/hyprland.conf
- Set keybindings: Custom key combinations
- Configure waybar:
~/.config/waybar/config
- Set wallpaper: Using
swaybg
or similar
Recommended tools:
wofi
for application launcherwaybar
for status barswaybg
for wallpapers
🛠️ Development Environment Setup
Programming Languages
Install via Homebrew for version management:
# Install Homebrew first
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Add to PATH
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc
# Install programming languages
brew install python nodejs ruby go rust
Development Tools
Via Flatpak:
# Visual Studio Code
flatpak install flathub com.visualstudio.code
# IntelliJ IDEA
flatpak install flathub com.jetbrains.IntelliJ-IDEA-Community
# Postman
flatpak install flathub com.getpostman.Postman
Via Homebrew:
# Command line tools
brew install git-lfs kubectl docker-compose terraform
# Build tools
brew install cmake gradle maven
Docker Setup
# Install Docker
sudo pacman -S docker docker-compose
# Add user to docker group
sudo usermod -aG docker $USER
# Enable Docker service
sudo systemctl enable --now docker
# Verify installation (after logout/login)
docker --version
🎮 Gaming Setup
Steam
Via Flatpak (recommended):
flatpak install flathub com.valvesoftware.Steam
Via pacman:
sudo pacman -S steam
Gaming Utilities
# Lutris (game management)
flatpak install flathub net.lutris.Lutris
# GameMode (performance optimization)
sudo pacman -S gamemode
# MangoHud (performance overlay)
sudo pacman -S mangohud
Graphics Drivers
NVIDIA users:
# Install proprietary drivers
sudo pacman -S nvidia nvidia-utils nvidia-settings
# Enable early loading (with validation)
if grep -q "MODULES=()" /etc/mkinitcpio.conf; then
sudo sed -i 's/MODULES=()/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
else
echo "Warning: MODULES line already modified. Please manually add: nvidia nvidia_modeset nvidia_uvm nvidia_drm"
fi
# Regenerate initramfs
sudo mkinitcpio -p linux-zen
# Verify modules are loaded after reboot
echo "After reboot, verify with: lsmod | grep nvidia"
AMD users:
# Mesa drivers (usually pre-installed)
sudo pacman -S mesa vulkan-radeon
🔒 Security Enhancements
Firewall Configuration
# Check firewall status
sudo firewall-cmd --state
# Allow common services
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
# Check active zones
sudo firewall-cmd --get-active-zones
SSH Setup
# Generate SSH key
ssh-keygen -t ed25519 -C "[email protected]"
# Start SSH agent
eval "$(ssh-agent -s)"
# Add key to agent
ssh-add ~/.ssh/id_ed25519
System Monitoring
# Install monitoring tools
sudo pacman -S htop neofetch
# System information
neofetch
# Process monitoring
htop
📚 Learning Resources
System Administration
Essential commands:
# System information
uname -a
hostnamectl
df -h
free -h
# Service management
sudo systemctl status service-name
sudo systemctl enable service-name
sudo systemctl start service-name
# Log viewing
journalctl -u service-name
journalctl -f # Follow logs
Package Management
Quick reference:
# System packages
sudo pacman -S package-name # Install
sudo pacman -R package-name # Remove
sudo pacman -Syu # Update system
# Flatpak
flatpak install app-id # Install
flatpak uninstall app-id # Remove
flatpak update # Update all
# AUR (with paru)
paru -S package-name # Install
paru -R package-name # Remove
paru -Syu # Update all
🔧 Advanced User Management
Create Additional Users
# Create new user
sudo useradd -m -G wheel,audio,video,optical,storage -s /bin/bash newuser
# Set password
sudo passwd newuser
# Enable sudo access
sudo visudo
# Uncomment: %wheel ALL=(ALL:ALL) ALL
Change Default Username
⚠️ Advanced users only:
# Create new user first
sudo useradd -m -G wheel,audio,video,optical,storage -s /bin/bash newname
# Set password
sudo passwd newname
# Copy data from old user
sudo cp -r /home/user/* /home/newname/
sudo chown -R newname:newname /home/newname
# Login as new user and verify everything works
# Then remove old user:
sudo userdel -r user
📞 Getting Help
If you need assistance:
- GitHub Issues: https://github.com/buggerman/re-arch/issues
- Arch Wiki: https://wiki.archlinux.org/
- Community: r/archlinux, Arch Linux forums
🚀 Advanced Performance Optimization
System Tuning
I/O Scheduler Optimization for SSDs:
# Optimize I/O scheduler for SSDs
echo 'ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"' | sudo tee /etc/udev/rules.d/60-ioschedulers.rules
Memory Management:
# Optimize swappiness for desktop use
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.d/99-swappiness.conf
# Optimize dirty page writeback
echo 'vm.dirty_background_ratio=5' | sudo tee -a /etc/sysctl.d/99-dirty.conf
echo 'vm.dirty_ratio=10' | sudo tee -a /etc/sysctl.d/99-dirty.conf
Gaming Optimizations
GameMode for Better Gaming Performance:
# Install GameMode
sudo pacman -S gamemode
# Configure CPU governor for performance (during gaming)
sudo cpupower frequency-set -g performance
# Reset to powersave when not gaming
sudo cpupower frequency-set -g powersave
Audio Latency Optimization:
# Optimize PipeWire for low-latency audio
mkdir -p ~/.config/pipewire
echo 'default.clock.quantum = 256' >> ~/.config/pipewire/pipewire.conf
echo 'default.clock.min-quantum = 256' >> ~/.config/pipewire/pipewire.conf
Network Performance
Network Stack Optimization:
# Optimize network buffers
echo 'net.core.rmem_max = 16777216' | sudo tee -a /etc/sysctl.d/99-network.conf
echo 'net.core.wmem_max = 16777216' | sudo tee -a /etc/sysctl.d/99-network.conf
echo 'net.ipv4.tcp_rmem = 4096 87380 16777216' | sudo tee -a /etc/sysctl.d/99-network.conf
echo 'net.ipv4.tcp_wmem = 4096 65536 16777216' | sudo tee -a /etc/sysctl.d/99-network.conf
🛡️ Post-Installation Security Hardening
Immediate Security Steps
1. Change Default Credentials (Critical):
# Change user password
passwd
# Change root password
sudo passwd root
2. SSH Hardening (if SSH is enabled):
# Edit SSH configuration
sudo nano /etc/ssh/sshd_config
# Add these lines:
# Port 2222 # Change from default port 22
# PermitRootLogin no
# PasswordAuthentication no # Use keys only
# MaxAuthTries 3
3. Firewall Configuration:
# Review current firewall rules
sudo firewall-cmd --list-all
# Add custom rules if needed
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
Advanced Security Measures
AppArmor (Additional Sandboxing):
# Install AppArmor
sudo pacman -S apparmor
# Enable AppArmor
sudo systemctl enable --now apparmor
# Load profiles
sudo aa-enforce /etc/apparmor.d/*
File System Security:
# Secure temporary directories
echo 'tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev 0 0' | sudo tee -a /etc/fstab
# Secure shared memory
echo 'tmpfs /dev/shm tmpfs defaults,noexec,nosuid,nodev 0 0' | sudo tee -a /etc/fstab
🔧 Known Edge Cases and Solutions
Virtual Machine Specific Issues
UTM/QEMU:
- Enable 3D acceleration for proper graphics performance
- Use virtio drivers for better I/O performance
- Allocate sufficient RAM (8GB minimum)
VirtualBox:
- Install guest additions after Re-Arch installation:
sudo pacman -S virtualbox-guest-utils
- Enable 3D acceleration in VM settings
- Use VBoxVGA graphics adapter for better compatibility
VMware:
- Configure VMXNET3 network adapter for best performance
- Enable hardware acceleration in VM settings
- Install VMware tools if needed
Hardware Specific Issues
Secure Boot:
- Disable in BIOS/UEFI for easier installation
- Or use signed kernels:
sudo pacman -S linux-zen-headers
NVIDIA Optimus (Hybrid Graphics):
- Install
optimus-manager
:paru -S optimus-manager
- Configure for automatic switching between GPUs
WiFi Issues:
- Some adapters need firmware:
sudo pacman -S linux-firmware
- Broadcom adapters may need:
paru -S broadcom-wl
System Recovery Scenarios
Boot from Snapshot:
- Boot to GRUB menu
- Select "Arch Linux snapshots"
- Choose desired snapshot
- Boot from snapshot
Emergency Recovery:
# Boot from Arch ISO
# Mount system
mount /dev/sdXY /mnt
mount /dev/sdXZ /mnt/boot
arch-chroot /mnt
# Regenerate GRUB
grub-mkconfig -o /boot/grub/grub.cfg
# Fix display manager
systemctl enable sddm # or gdm/lightdm
Useful documentation:
For technical details about the system architecture, see Technical Details.