This is a personalized Arch Linux installer that automates the installation process with my preferred packages and configurations.
This installer will COMPLETELY ERASE the selected disk. Make sure you have backups of any important data before proceeding.
- Boot from an Arch Linux ISO
- Connect to the internet
- Run the following commands:
curl -L https://raw.githubusercontent.com/benjaminshawki/arch_installer/main/install_sys.sh > install_sys.sh
chmod +x install_sys.sh
./install_sys.shinstall_sys.sh- Main system installer (partitioning, base system)install_chroot.sh- Configuration inside chroot (bootloader, locale, users)install_user.sh- User environment setup (AUR helper, dotfiles)install_apps.sh- Package installation based on categoriesapps.csv- Package database with categories and descriptionscheck_requirements.sh- Pre-installation system requirements checkcheck_missing_packages.sh- Find installed packages not in apps.csv
- PipeWire audio stack (replacing PulseAudio)
- Wayland with Sway window manager
- Neovim with modern plugins
- Alacritty GPU-accelerated terminal
- System monitoring tools
- Development environments (Python, Rust, etc.)
- Essential system tools
- Network utilities
- Development tools
- Window management (Wayland/Sway)
- Audio (PipeWire)
- Terminals and shells
- Programming languages
- Virtualization tools
- Disk partitioning (UEFI/BIOS support)
- GRUB bootloader installation
- User creation and sudo configuration
- Timezone and locale setup
- AUR helper (yay) installation
- Dotfiles repository cloning
Before running the installer, you may want to:
- Update the package list: Edit
apps.csvto add/remove packages - Change the GitHub username: Update references to
benjaminshawkiin the scripts - Modify disk partitioning: Adjust partition sizes in
install_sys.sh - Change timezone: Update the timezone in
install_chroot.sh
The installer allows you to select from these package groups:
- essential: Core system utilities
- network: Networking tools
- tools: Useful command-line utilities
- tmux: Terminal multiplexer
- notifier: Notification system
- git: Version control
- audio: PipeWire audio stack
- wayland: Wayland compositor and tools
- zsh: Z shell and plugins
- neovim: Modern text editor
- alacritty: Terminal emulator
- fonts: Programming fonts
- browsers: Web browsers
- documents: Document viewers
- virtualization: VM and container tools
- python: Python development
- rust: Rust development
- database: Database systems
- monitoring: System monitoring
After installation completes:
- Reboot into your new system
- Run the dotfiles installer:
cd ~/dotfiles && ./install.sh - Start Sway from TTY:
sway - Install tmux plugins: Press
prefix + Iin tmux - Install Neovim plugins: Run
:Lazy installin Neovim
Feel free to fork this repository and customize it for your own needs. Pull requests with improvements are welcome!
This project is open source and available under the MIT License.