Arch Linux Installation Guide

Using archinstall

Step 1: Boot from Installation Media

  1. Download the Arch Linux ISO from the official website.
    Put it on a Ventoy USB

Step 2: Verify Internet Connection

  1. Check network connection:
    ip a
    ping archlinux.org
  2. If no connection, configure it using iwctl for Wi-Fi:
    iwctl
    # For a cabled connection, ensure the Ethernet cable is plugged in.
    # Then, use the following command to enable the connection:
    dhcpcd

Step 3: Update System Clock

timedatectl set-ntp true

Step 4: Start archinstall

  1. Run the guided installer:
    archinstall
  2. Follow the prompts to:
    • Select a language.
    • Choose a disk for installation.
    • Configure partitions (automatic or manual).
    • Set up users, passwords, and hostname.
    • Select a desktop environment or base system.
    • Configure additional options (e.g., bootloader, network).

Step 5: Reboot into Installed System

  1. Exit the installer after completion.
  2. Reboot the system:
    reboot
  3. Remove the installation media.

Step 6: Post-Installation

  1. Disable the mouse acceleration.
  2. Check your power management settings (it's a bit too conservative by default).
  3. Update the system:
    sudo pacman -Syu

Step 7: Set Bash as the Default Shell (optional)

  1. Verify that Bash is installed:
    konsole
    echo $0
  2. If it's not bash change the default shell:
    chsh -s /bin/bash
  3. Log out and log back in to apply the changes.
  4. Take care of your sudo
    sudo echo "$USER ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/00_$USER

Step 8: Install Useful Utilities

  1. Update the package database:
    sudo pacman -Syu
  2. Install other useful utilities:
    sudo pacman -Sy git btop wget curl base-devel
  3. Optionally, install AUR helper like yay for additional packages:
    git clone https://aur.archlinux.org/yay.git
    cd yay
    makepkg -si
  4. Install Brave browser:
    yay brave
  5. Install zoxide (a smarter cd command):
    yay zoxide
    echo 'eval "$(zoxide init --cmd cd bash)"' >> ~/.bashrc
    . ~/.bashrc
  6. Enable sshd:
    sudo systemctl enable sshd --now
  7. Install eza:
    yay eza
    echo "alias ll='eza -al --color=always --group-directories-first --icons'" >> ~/.bashrc
  8. Install bat:
    yay bat
    echo "alias cat='bat --style=header -Pfs'" >> ~/.bashrc
    . ~/.bashrc
  9. Install fd and "replace" find:
    yay fd
    echo "alias find='fd -ual -c always'" >> ~/.bashrc
    . ~/.bashrc
  10. Install Neovim (a modern Vim-based text editor):
    sudo pacman -Sy luarocks neovim rustup ripgrep lazygit bottom
    rustup default stable
    cargo install --locked tree-sitter-cli
    cd ~
    git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim
    rm -rf ~/.config/nvim/.git
    nvim
  11. Configure starship:
    yay starship
    echo "eval \$(starship init bash)" >> ~/.bashrc
    . ~/.bashrc