Uses
What actually runs the day
Answering the same three questions I get every month: what editor, what laptop, what model. Updated when the stack moves - not when a newsletter tells me it should.
§ Compute
Compute
Desktop for deep work, laptop for travel. Linux on both.
- OS CachyOS Linux - Arch, but tuned for responsiveness and aggressive kernel settings
- Desktop Custom build for daily work. CachyOS + KDE Plasma on Wayland
- Laptop Linux laptop for travel - same distro, same dotfiles
- Session KDE Plasma on Wayland - HiDPI-friendly, fractional scaling, no compromises
§ Editor + AI agents
Editor + AI agents
Neovim is primary. Zed is the only GUI IDE I tolerate. Most real code lands through a CLI agent.
- Primary editor Neovim - terminal-first, LSP + treesitter dialed in
- GUI editor Zed - when I need to pair or share a screen
- AI agents (CLI) Claude Code, Codex CLI, PI, Gemini CLI, OpenCode - switched via raise, my own Go CLI
- Shared skills rice-shared-skills - one source of truth for prompts and rule files across every agent
- Terminal Alacritty and Ghostty, fish + zsh, tmux for long-running work
§ Hardware
Hardware
- Keyboard Compact mechanical (HHKB / Keychron / TKL-class)
- Monitor External display for the desktop
- Microphone Shure MV7 - podcast-grade, painful to sound bad on
- Audio interface Rodecaster Duo - the MV7 lives here
- Headphones Sennheiser HD 560S - open-back, reference-ish, great for long review sessions
§ Languages + runtimes
Languages + runtimes
Installed and used regularly. Polyglot by necessity; opinionated by taste.
- Node Node 24 - TypeScript-first for agent runtimes and this site
- Rust Rust 1.94 - daily driver for the IPTV toolkit and systems work
- Go Go 1.26 - CLI tools, service shells, the raise binary
- Python Python 3.14 - ML/eval scripts, AI pipeline glue
- JVM OpenJDK 21 - Kotlin/Java when the problem already lives there (ex: Wikimedia)
- Package manager pnpm 10 for JS, cargo for Rust, go modules
§ Infra
Infra
- Homelab edge Caddy with an
abualruz-headerssnippet - parity with CF Pages _headers - Containers Docker compose for everything that needs to boot on the homelab
- Mesh VPN Netbird - self-hosted, wires the homelab into every machine I own
- Auth Pocket ID as the OIDC IdP for internal tools and Cloudflare Access
- Edge hosting Cloudflare Pages - abualruz.com, with a homelab mirror at home.abualruz.com
- Storage R2 + homelab NAS for anything big enough to regret
§ Local LLM stack
Local LLM stack
Not for demos - part of an actual engineering pipeline for AI-driven development.
- Runtimes Ollama + llama.cpp + vLLM for serving
- UI / chat LM Studio / Jan / Open WebUI depending on what I'm evaluating
- Agent control plane Fulcrum - my own - task tracking, memory recall, CoS context across multi-agent runs
§ Everyday tools
Everyday tools
- Shell fish (default), zsh for scripts
- Search ripgrep, fd, fzf, zoxide
- Git gh CLI for everything above
git commit - Browser Firefox on the desktop, uBlock + Bitwarden, one-off profiles for each client engagement
- Fonts IBM Plex Mono / Sans / Serif, Terminus for terminal flavor, Fira Sans when I want a change
§ Off-keyboard
Off-keyboard
Non-code stuff that still shapes the day.
- Coffee DeLonghi Magnifica - super-automatic, Italian in spirit, offends at least one Italian by design
- Music YouTube Music - classical for deep work, rap / beats / metal / everything else as the day goes. Music is load-bearing.