Modular Arch Linux bootstrap scripts inspired by the Architect project. Phases:
- init.d/ — Initial setup (timezone, sudoers, mirrors, dev packages, input, Bluetooth, sound, video)
- install.d/ — Software installation (AUR helpers, desktop, apps, fonts, dev tools, shells)
- config.d/ — Post-install configuration (shell, SSH, GPG, npm, git)
- Phase progress bar — Shows module progress (e.g.
4/10) while running each phase - Mirror selection — Pick region, auto-fastest, custom country, or a specific mirror URL; choice is saved in
.architect.conf - Download progress —
curldownloads show a progress bar;pacman/git/reflectorshow a spinner with live output - Smarter pacman — Uses
--neededto skip already-installed packages
git clone https://github.com/ablfaxl/arch-architect.git
cd arch-architect
# Run initial setup (mirrors, timezone, etc.)
./init.sh
# Run package installation
./install.sh
# Chroot for final configuration:
arch-chroot /mnt /bin/bash
cd /path/to/arch-architect
./config.shDuring init, mirrors.sh prompts you to choose a download mirror. That selection is stored in .architect.conf and reapplied at the start of install.sh.
| Option | Description |
|---|---|
| Auto | Fastest mirrors worldwide (reflector) |
| US, GB, DE, … | Country-specific mirror lists |
| Custom code | Any ISO 3166-1 alpha-2 country code |
| Custom URL | Single pacman mirror base URL |
See .architect.conf.example for the saved format.
init.sh,install.sh, andconfig.shsourceutils.shand run every*.shin their directory (sorted by name).- Each module is confirmed interactively before it runs.
- Add modules by dropping new scripts into
init.d,install.d, orconfig.d.
- Timezone:
init.d/timezone.sh - Git identity:
config.d/git.sh - Packages: edit scripts under
install.d/ - Default mirror: run
init.d/mirrors.shor copy.architect.conf.exampleto.architect.conf
- Arch Linux (or chroot environment)
- Bash 4+
- Root for init/install phases
Issues and pull requests are welcome.
