A terminal-based installation assistant for Arch Linux, written in C. This tool walks you through a full Arch Linux installation interactively — from disk partitioning to a fully configured desktop environment.
- Automatic UEFI/BIOS detection
- Automatic or manual disk partitioning
- Base system installation via
pacstrap - System configuration (locale, hostname, timezone)
- CPU microcode installation (AMD & Intel)
- GRUB bootloader installation with optional dual-boot support
- User and sudo management
- Display server selection (Wayland, Xorg, or both)
- Desktop environment selection with display manager auto-configuration
| Desktop Environment | Display Manager |
|---|---|
| KDE Plasma | SDDM |
| GNOME | GDM |
| Cinnamon | LightDM |
| XFCE | LightDM |
| LXQt | SDDM |
| MATE | LightDM |
- Must be run from an Arch Linux live ISO environment
- Internet connection
Clone the repository:
git clone https://github.com/rgeorgen10/Arch-Linux-Install-Assistant
cd Arch-Linux-Install-Assistant
./main-scriptRun the pre-compiled binary as root:
./main-scriptThe assistant will guide you through each step interactively.
- Disk Partitioning — Choose automatic partitioning (recommended) or open
fdiskmanually.- Automatic mode creates a boot partition (UEFI only), swap, and root partition.
- Manual mode lets you configure custom partition layouts, including a separate home partition.
- Base System — Installs the base system using
pacstrap. - System Configuration — Sets locale, timezone, hostname, and generates
fstab. - CPU Microcode — Detects AMD or Intel CPU and installs the appropriate microcode package.
- Bootloader — Installs GRUB with optional
os-proberfor dual-boot setups. - Networking — Installs and enables NetworkManager.
- Users & Sudo — Optionally installs
sudoand creates one or more users with configurable permissions. - Desktop Setup — Choose a display server and desktop environment to install.
| Partition | Size | Format | Mount |
|---|---|---|---|
| Boot | 1 GB | FAT32 | /boot |
| Swap | System RAM Size | swap | — |
| Root | Remaining | ext4 | /mnt |
| Partition | Size | Format | Mount |
|---|---|---|---|
| Swap | System RAM Size | swap | — |
| Root | Remaining | ext4 | /mnt |
- Only ext4 is supported as the root filesystem.
arch-install-assistant/
├── main-script.c # Main installation logic
├── helper-functions.h # Utility functions (disk checks, CPU detection, formatting)
└── README.md
This project is open source. See LICENSE for details.