Linux desktop, homelab, and small sharp tools.
I spend most of my time self-hosting, tuning Arch/CachyOS setups, and shipping CLI utilities that make day-to-day systems work nicer — shells, Wayland bars, game launchers, MCP helpers, the occasional incident-response script.
Currently: Building uDDNS, improving AUR incident-response tooling, and polishing Linux utilities for gaming, desktop automation, and self-hosting.
| Project | What it is |
|---|---|
| uddns | Micro multi-provider dynamic DNS updater |
| LaunchLayer | Layered Steam game launch orchestration — preflight, per-game env, Gamescope/Proton wrappers |
| ps-profile | Cross-platform PowerShell profile with 130+ lazy-loaded fragments |
| millenium-helpers | Cross-platform Millennium CLI + MCP server (Linux, Windows, macOS) |
| aur-response-toolkit | Incident response for Arch AUR malware — Atomic Arch by default, plus opt-in Chaos RAT, Shai-Hulud, and xeactor campaigns |
| waybar-config | Modular Waybar for KDE Plasma 6 and Hyprland with per-monitor workspaces |
| appicon | Resolve desktop/brand icons to local paths — CLI and MCP for Waybar, Rofi, agents |
| fish-config | Fish shell config — Tide, Fisher, modern CLI integrations |
| arch-config | Reproducible Arch/CachyOS workstation configuration with Zen 4, Btrfs, gaming, and systemd tuning |
| homelab | Docker Compose stacks for self-hosting, reverse proxying, monitoring, and remote access |
- Homelab — Docker Compose stacks, Caddy, tunnels, SSO
- Desktop Linux — Arch/CachyOS, Hyprland/Plasma, Waybar, shell ergonomics
- Tooling — CLIs, MCP servers, config-as-code for everyday workflows
- Gaming on Linux — launch wrappers, Proton/Gamescope pipelines
- Security hygiene — AUR supply-chain response and recovery tooling
Away from the keyboard: Camping, hiking, cycling, disc golf, and exploring local craft beer.




