tonarchy

tonarchy

https://git.tonybtw.com/tonarchy.git git://git.tonybtw.com/tonarchy.git

Files

040000 .github/
040000 assets/
040000 iso/
040000 src/
040000 walls/
100644 .gitattributes
100644 .gitignore
100644 flake.lock
100644 flake.nix
100644 LICENSE
100644 logo.txt
100644 Makefile
100644 README.org

Recent commits

88c889f Fixed oxwm to reflect zig updates. tonybanters 2026-02-17
8946f98 Fixed logo being small/big on wrong column sizes. tonybanters 2026-02-17
8769d9a Merge pull request #10 from tonybanters/initial_fixes xsoder 2026-01-26
f7229c1 Added proper md5 checksum workflow for releases. tonybanters 2026-01-26
0033fbe Address issue 5, removed deprecated install from makefile. tonybanters 2026-01-26
dbcfd87 Fixed issue 7 with simple chpasswd_pipe helper tonybanters 2026-01-26
d5ffc8e Added nvme test mode to Makefile, fixed squashfs error. tonybanters 2026-01-26
55a4070 Merge pull request #9 from ste1ee-dot/master Tony, btw. 2026-01-26
4d6a155 Fixed wifi, nvme drives, squashfs errors. tonybanters 2026-01-26
ca96575 Fix: Partition names ste1ee-dot 2026-01-26

View all commits

README.org

#+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