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:

  1. System SettingsAppearanceGlobal Theme
  2. Right-click desktopConfigure Desktop and Wallpaper
  3. System SettingsShortcutsGlobal Shortcuts
  4. System SettingsStartup and ShutdownAutostart

Recommended widgets:

  • System Monitor
  • Weather
  • Application Launcher alternatives

GNOME

Essential customization:

  1. SettingsAppearanceBackground
  2. SettingsKeyboardKeyboard Shortcuts
  3. Install GNOME Extensions: https://extensions.gnome.org/
  4. SettingsPrivacyScreen Lock

Recommended extensions:

  • Dash to Dock
  • AppIndicator Support
  • User Themes

XFCE

Essential customization:

  1. SettingsAppearanceStyle
  2. SettingsDesktopBackground
  3. Right-click panelPanelPanel Preferences
  4. SettingsWindow ManagerKeyboard

Recommended additions:

  • Whisker Menu
  • Panel plugins
  • Thunar custom actions

Hyprland

Essential customization:

  1. Edit config: ~/.config/hypr/hyprland.conf
  2. Set keybindings: Custom key combinations
  3. Configure waybar: ~/.config/waybar/config
  4. Set wallpaper: Using swaybg or similar

Recommended tools:

  • wofi for application launcher
  • waybar for status bar
  • swaybg 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:

🚀 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:

  1. Boot to GRUB menu
  2. Select "Arch Linux snapshots"
  3. Choose desired snapshot
  4. 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.