| .github | ||
| assets | ||
| iso | ||
| src | ||
| walls | ||
| .gitattributes | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| logo.txt | ||
| Makefile | ||
| README.org | ||
- Tonarchy
- Philosophy
- Installation Modes
- Keybindings
- Technical Highlights
- Requirements
- Beginner Mode Setup
- Roadmap
- Building the ISO
- License
Tonarchy

A zero-dependency Arch Linux installer with a clean TUI built from scratch in C.
Status: Alpha - Beginner (XFCE) and Oxidized (OXWM) modes functional, Wayland (Niri) coming soon
Philosophy
Tonarchy is designed to take users from zero to hero with an opinionated beginner mode that sets up a complete, working Linux desktop environment. No choices, no confusion - just a solid foundation to start learning.
For experienced users, the Oxidized mode provides a minimal OXWM setup.
Installation Modes
Beginner (XFCE)
Opinionated setup with XFCE desktop, essential applications, and sane defaults. Perfect for your first Linux installation.
Oxidized (OXWM)
Minimal setup with OXWM (Rust/Lua window manager), Alacritty, and Thunar. Lightweight tiling with Lua configuration.
Keybindings
General (XFCE Beginner Mode)
| Key | Action |
|---|---|
| Super+Return | Terminal (Alacritty) |
| Super+d | App Launcher (Rofi) |
| Super+e | File Manager (Thunar) |
| Super+q | Close Window |
| Super+f | Maximize Window |
| Super+Shift+f | Fullscreen |
Window Management
| Key | Action |
|---|---|
| Super+j | Cycle Windows |
| Super+k | Cycle Windows Reverse |
| Super+Left | Tile Left |
| Super+Right | Tile Right |
| Super+Up | Tile Up |
| Super+Down | Tile Down |
Workspaces
| Key | Action |
|---|---|
| Super+1-9 | Switch to Workspace |
| Super+Shift+1-9 | Move Window to WS |
| Super+Tab | Next Workspace |
| Super+Shift+Tab | Previous Workspace |
Technical Highlights
- Zero dependencies
- Raw terminal control using termios + ANSI codes (no ncurses)
- Single C file
- Entire installer in ~1500 lines of C
- Fuzzy finding
- fzf integration for keyboard and timezone selection
- Static binary
- Ships as a single static executable on the ISO
Requirements
- UEFI or BIOS system
- Internet connection
- Boot from Tonarchy ISO
Beginner Mode Setup
The beginner installation handles everything:
Desktop Environment
- XFCE with preconfigured keybindings
- Autologin via getty (no display manager)
- Adwaita-dark theme
Applications
- Firefox (with uBlock Origin, Dark Reader)
- Neovim
- Alacritty terminal
- Thunar file manager
- VLC media player
- Rofi launcher
System Configuration
- Locale:
en_US.UTF-8 - Timezone: User selected via fzf
- Keyboard: User selected via fzf
- NetworkManager enabled
- Sudo configured for wheel group
Disk Layout (UEFI)
- 1GB FAT32 EFI partition
- 4GB swap partition
- Remaining space for ext4 root
Disk Layout (BIOS)
- 4GB swap partition
- Remaining space for ext4 root (bootable)
Roadmap
- XFCE Beginner Mode
- Oxidized Mode (OXWM)
- BIOS support
- MangoWC Wayland Mode
- Encrypted disk support
- Multi-disk configurations
- DIY Mode
Building the ISO
On Arch Linux
make build_iso
./build_iso --container podman
Or natively (requires archiso and musl):
make build_iso
./build_iso
On NixOS
nix run .#build_iso -- --container podman
Testing
make test-nix # NixOS
make test # Arch
License
GPL