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-headers snippet - 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.