#+AUTHOR: Tony, btw #+OPTIONS: toc:2 num:nil * Tonarchy [[file:assets/tonarchy.png]] 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 - [X] XFCE Beginner Mode - [X] Oxidized Mode (OXWM) - [X] BIOS support - [ ] MangoWC Wayland Mode - [ ] Encrypted disk support - [ ] Multi-disk configurations - [ ] DIY Mode * Building the ISO ** On Arch Linux #+BEGIN_SRC bash make build_iso ./build_iso --container podman #+END_SRC Or natively (requires =archiso= and =musl=): #+BEGIN_SRC bash make build_iso ./build_iso #+END_SRC ** On NixOS #+BEGIN_SRC bash nix run .#build_iso -- --container podman #+END_SRC ** Testing #+BEGIN_SRC bash make test-nix # NixOS make test # Arch #+END_SRC * License GPL