I bend Linux to my will so you don't have to.
Workstations, laptops, tablets, servers, phones: press the button, watch the chaos organize itself.
Linux · Phone · Local AI · Games & engine · Odds & ends
Currently working on: the XX Linux phone (shell plus 18 apps, now running on real hardware), air-gpu (huge MoE models from NVMe on one RTX 5090), and Regia Engine with the game it exists to ship, Direct Order 27.
I like a simple, clean UI on a reproducible Linux ecosystem, with customizations that make sense and remove friction. Most of what's below runs on hardware I own and talks to my local-first AI for the whole house.
This is the backbone. A fresh ISO becomes a daily driver here.
- linux-mod: one installer for Arch, Artix, Debian/Ubuntu, Fedora, Void, openSUSE, and Alpine. Full workstation or mini (tablets, lean boxes). Menu-driven (gum → fzf → whiptail). Resumable. Dry-run. Distro differences live inside the module, not in a pile of forks.
- Hyprland, Sway, i3, bspwm, Awesome, Qtile, DWM, herbstluftwm, GNOME, Cosmic
- NVIDIA + CUDA, Microsoft Surface kernel, printers, gaming extras, Docker, Tailscale
- Variants for workstations, servers, tablets, and phones
- better-mac: the same idea on a fresh Mac. piercing-dots, Hyprland-style tiling, Colemak + Piercing Num.
- Per-distro trees I still keep: Arch, Debian, FreeBSD, plus mini for tablets (arch-mini-mod, debian-mini-mod).
- piercing-dots: one repo to keep the machine updated and configured. Hyprland is the daily. The other WM configs are still in the tree.
- Waybar, kitty, Neovim, Yazi, tmux, GIMP: minimal, fully functional powerhouses
Super+/opens the cheat sheet;Super+Sopens a Bash-driven settings menu. Don't leave the keyboard.- System updates, packages, audio, Wi-Fi, Bluetooth, wallpaper, backup, users, mirrors, cleanup: all from that menu
Drivers and scripts for hardware the kernel forgot, shipped with the installer:
- Surface kernel support
- NVIDIA + CUDA, assembled for a script, not a weekend
- NuVision 8" tablet Wi-Fi/Bluetooth/audio: obscure old tech that would be perfect with modern hardware
- KooTigers touchscreen/driver utilities: a neat little toy that needed some help
The phone market is two bad options. Linux phones are a third, for different reasons: underdeveloped, buggy, and underfunded. For now.
- XX-Linux-Phone: a complete, minimal phone for Linux. The XX-WM shell (home, app drawer, shade, lock screen, calls, notifications, privacy, screen time) plus 18 apps, each its own self-contained project:
- Comms: contacts, a dialer with call screening and spam blocking, SMS/MMS, Gmail with offline outbox and snooze, Nearby Share (LocalSend compatible)
- Daily: calendar, notes (plain Markdown files), files, clock and alarms, calculator, weather, offline 2FA codes
- Self-hosted: vitals, audiobooks, Find My Device
- Everything else: on-device live captions and call transcription, a driving screen for a car mount, a YouTube Music player (spec and scaffold)
- Text-first, gesture-driven, AMOLED black, Space Mono. No icon grids, anywhere.
- Python + GTK4/libadwaita on phoc. postmarketOS, Mobian, FuriOS.
- Maps, camera, and photos are next.
My daily is a Pixel 9 Pro on GrapheneOS running the Android versions of the same suite. They're coming to Google Play. I'll drop the link here when they land.
- air-gpu: an off-the-shelf GPU box that runs huge mixture-of-experts models by streaming expert weights from NVMe, with one RTX 5090 caching the hot ones. Serves every device on the network; meant to grow into a remote GPU over Wi-Fi 7. Early: the engine runs, the target hardware isn't built yet, and every number is a labelled estimate.
- xx-stack: let your local AI use every computer you own. Agent contracts, routing policy, an MCP server, and a local inference control plane over Tailscale. Cloud APIs are off unless you switch them on.
- free-opencode-hermes: a local proxy so OpenCode (and Hermes-Agent) can run from the terminal against providers you already have keys for, or models on machines you own. Keys stay in the proxy, not in the agent.
- tailscale-protonvpn-exitnode: a Tailscale exit node that tunnels out through ProtonVPN. One docker-compose file.
Regia Engine (private): an agent-native, editor-first 3D game engine written entirely in Rust. Linux, Windows, and Android. Humans and AI agents get the same capabilities over MCP, with undo, staged review, and an audit log. Built for deterministic sims. No scripting VM.
The tools around it are private too, and share its rules: local-first, agents and humans through the same door.
- Tincal: concept art to modular, rigged, game-ready 3D assets, built from reusable part kits.
- Lodestone: an AI-run story engine and lore keeper. The universe is plain YAML and Markdown.
- Red-Rouge: an AI director that turns match records into trailers, teasers, and Shorts, re-rendered from the deterministic replay. Nothing goes public without my OK.
Direct Order 27 (private, closed alpha): hard sci-fi hover-tank strategy and first-person combat on Europa and Mars. Four factions fight over the wrecks of an alien mining ship. Multiplayer only, with bit-identical netcode across operating systems. Steam comes after it's stable. Shipping it is Regia Engine's finish line.
- piercing-keyboard-layout: my own layout that no one else will ever use. One layout, every platform: Linux (xkb), Windows, Android/GrapheneOS, and QMK/Vial ortho boards.
- xx-platform (private): ops console for the businesses under XX. Scheduling, bookkeeping, documents, reminders.
- piercingxx-branding (private): the brand system behind all of the above. Color, type, logomark, and voice.
- book-list (private): my ongoing attempt to separate the worthwhile from the well-marketed nonsense.
- Local first: my AI, my inference, my data, my hardware. Cloud is opt-in or absent. If it can run on my hardware, it will. If it can't, buy more hardware.
- Repeatable results: a fresh install should feel like home in minutes. Scripts > screenshots, always. (The screenshots above are the exception that proves the rule.)
- Text-first, gesture-driven, low-friction UX: on a desktop, a phone, or a lock screen.
- Elegant complexity: hide the sharp edges, keep the power. Minimal dependencies, sane defaults, readable code, zero drama.
- Defaults with a spine: opinions included at no extra charge.
Yes, it's opinionated. That's why it's good.
Email: don't.
Open an issue in the relevant repo. If it's a rant, make it entertaining.


