A running list of what I actually use day-to-day. Inspired by usesthis.com.
Hardware
Computers
- ThinkPad T470s — 14” matte panel, classic keyboard, fingerprint reader, runs cold and quiet on TLP. Old enough to be cheap to repair; new enough to handle everything I throw at it.
- HP Victus — heavier-lift machine for builds, video, and the occasional game.
Display & desk
- Samsung Odyssey — external display.
- Xiaomi monitor lamp — clip-on light bar over the monitor; glare-free, no desk real estate cost.
- Baseus docking station — USB-C dock that turns the T470s into a desktop with one cable.
- Baseus desktop power station — multi-port USB-C / PD hub on the desk; charges everything else from a single wall plug.
Input
- Royal Kludge RK-M75 — 75% mechanical keyboard, hot-swappable, tempest modded.
- Logitech MX Vertical — ergonomic vertical mouse; the wrist angle that killed my forearm pain.
Audio
- HiFiMan Sundara — open-back planar magnetic headphones with a balanced cable into the FiiO; the daily listening pair.
- FiiO KA13 — pocket DAC/amp for headphones.
- Blue Snowball — USB mic for calls and TTRPG sessions.
Mobile
- Xiaomi 11T — primary phone.
- Xiaomi Band 8 — fitness and sleep tracker; deliberately the dumbest wearable I could find.
Power & security
- Anker powerbank — daily-carry battery for phone and the Switch.
- YubiKeys — hardware security keys for FIDO2 logins, SSH, and PGP; one daily-carry, one in a drawer.
OS & desktop
- NixOS with flakes — declarative Linux: every package, service, and theme lives in a flake, version-controlled, and reproducible across machines.
- nh — friendlier wrapper around
nixos-rebuildand friends; one command to rebuild, diff, garbage-collect, and search. - Hyprland — Wayland compositor, dynamic tiling, launched by greetd / tuigreet (a tiny TUI login manager).
- Quickshell — the bar and widgets (battery, clock, workspaces).
- rofi — application and command launcher.
- dunst — notification daemon.
- swayidle + swaylock — idle timeout and screen lock.
- hyprpaper — wallpaper.
- grimblast — screenshots and region selects.
- brightnessctl — backlight control bound to the function keys.
- playerctl — media keys for whatever’s playing.
- PipeWire — audio server (drives ALSA, Pulse, Bluetooth, JACK clients).
- Bluetooth via bluez, bluetuith as a TUI when pairing.
- TLP — battery and thermal tuning.
- Syncthing — peer-to-peer file sync between machines, no cloud.
- rclone — on-demand OneDrive mount, vfs-cached for offline.
- fastfetch — system info banner, mainly for screenshots.
- wl-clipboard — Wayland clipboard from the shell.
Terminal
- WezTerm — terminal emulator, Catppuccin-themed, no tabs.
- Nushell — the login shell — pipelines as structured data instead of raw text.
- Starship — minimal cross-shell prompt.
- Zellij — terminal multiplexer; persistent sessions and splits.
- Atuin — searchable, sync-able shell history.
- Zoxide —
cdthat learns the directories I jump to. - fzf — fuzzy finder; the universal “pick from a list” UI.
- Yazi — TUI file manager.
Common command-line tools
- ripgrep / ripgrep-all — fast grep; the
-allvariant searches inside PDFs, archives, and office docs. - fd —
findreplacement, sane defaults. - bat —
catwith syntax highlighting and paging. - hexyl — colored hex viewer; what I reach for instead of
xxdwhen poking at binaries. - lsd —
lsreplacement with icons and tree mode. - bottom —
top-style system monitor. - dust — disk usage, sorted, in colour.
- procs —
psreplacement. - sd —
sedreplacement; readable find/replace. - jq / jid / jnv — JSON: query, interactive query, interactive viewer.
- xh — HTTPie-style HTTP client written in Rust.
- just — project-local task runner (Makefile, but without the footguns).
- watchexec — re-run a command on file change.
- tealdeer — fast
tldrclient for examples. - tokei — count lines of code.
- bandwhich — bandwidth usage by process.
- trippy — modern traceroute / mtr.
- monolith — save a webpage as a single self-contained HTML file.
- speed-cloudflare-cli — quick internet speed test from the shell, via Cloudflare’s endpoints.
- pandoc — convert between document formats.
- yt-dlp — video and audio downloader.
- ffmpeg / imagemagick / poppler — video, image, and PDF processing.
- aria2 — multi-source downloader.
- wget — for the simple cases.
- rclone — cloud storage sync (also used for the OneDrive mount above).
- restic — encrypted, deduplicated backups.
- stow — manage dotfile symlinks.
- rust-petname — generate human-readable random names for branches and machines.
- magic-wormhole — send a file between two terminals over a relay, no setup.
- PowerShell — kept around for the rare Windows interop.
Security & secrets
- age — modern file encryption with simple keys.
- minisign — signing.
- sops — encrypted secrets in repos, decrypted only at use.
- gitleaks / trufflehog — find leaked secrets in git history.
- zizmor — static analysis for GitHub Actions workflows.
- vt-cli — VirusTotal lookups from the shell.
- hashcat + John the Ripper — local password recovery on hardware I own; hashcat for GPU-bound cracking, John for the CPU-side rule and format coverage.
- RustScan — fast TCP port scanner; pipes results into nmap for the deep scan.
- Wireshark — packet capture and protocol analyzer; for the times when “it works in the browser but not in curl”.
- Ghidra — NSA’s open-source disassembler and decompiler; what I reach for to read closed-source binaries.
- KeePassXC — password manager.
- Cryptomator — encrypted vaults for cloud storage.
- VeraCrypt — full-volume encryption.
- Filen — end-to-end encrypted cloud storage; client-side keys.
- Obscura VPN — privacy-focused VPNs; two-party relay setup so even the provider can’t see traffic plus identity.
- WireGuard — the protocol underneath Obscura VPN, and the kernel module I use for plain peer-to-peer tunnels between my own machines.
- NextDNS — DNS-level ad, tracker, and malware blocking; one config that follows me across every device on the network.
Editors
- Helix for terminal edits — modal, batteries-included LSP, no plugin manager to babysit.
- Zed when I want a fast, GUI editor that stays out of the way.
- Obsidian — source of knowledge; notes are written straight into the repo’s
src/content/knowledge/folder.
Languages & language servers
System-wide LSPs and toolchains, so each editor picks them up automatically:
- Nix —
nixdandnil(LSPs),nixfmt(formatter). - Python —
uvfor envs and packages,rufffor lint and format,tyfor type checking,prekfor pre-commit hooks. - TypeScript / JavaScript / Astro —
typescript-language-server,astro-language-server, plusnodejsandpnpm. - Markdown —
markdown-oxide, an Obsidian-aware LSP for wikilinks and backlinks. - HTML / CSS / JSON —
vscode-langservers-extracted. - TOML / YAML —
taplo,yaml-language-server. - Docker —
docker-language-server,docker-compose-language-service. - just —
just-lspfor the task-runner files. - ast-grep — structural code search and refactor across many languages.
Git & code review
- Git + git-lfs + git-annex — version control, large binaries, content-addressable annex for media I don’t want in the repo proper.
- git-branchless — stacked branches, undo, smartlog.
- lazygit — TUI for everyday git.
- GitButler — virtual branches; commit by intent rather than by branch.
- gh — GitHub CLI for PRs and issues.
- delta — diff renderer used everywhere above.
Build & data
- Astro — static-site framework powering this site; content collections, view transitions, no client framework.
- FastAPI — async Python web framework; type hints become validation, OpenAPI, and docs for free. My default for HTTP APIs.
- FastHTML — Python web framework for HTML-over-the-wire apps (HTMX under the hood); great when I want a single-file app instead of a SPA.
- Marimo — reactive Python notebook; cells re-run by dataflow, store as
.py, scriptable from the CLI. Replaces Jupyter for anything I want to keep in version control. - devenv — declarative dev shells per project, on top of Nix.
- cookiecutter + cruft — project templates and template updates.
- Docker + lazydocker — containers when I need them, with a TUI on top.
- PostgreSQL — default database for anything that outgrows SQLite or has more than one writer.
- DuckDB + SQLite — embedded SQL for ad-hoc data work.
- harlequin — TUI SQL IDE across all three.
- hurl — text-file HTTP test runner.
- bruno — GUI API client for the cases hurl can’t reach.
- Pulumi — infrastructure as code in real programming languages instead of YAML or HCL.
- Hetzner — where my VPS-grade workloads live; cheap European boxes, plain Linux, provisioned via Pulumi.
- netlify-cli — deploys this site.
Theme & fonts
- Catppuccin Macchiato everywhere — terminal, editors, GRUB, login greeter, even the TTY palette. Latte for light mode.
- JetBrainsMono Nerd Font for code and TUI chrome. Noto Sans / Serif for prose, Noto Color Emoji for the rest.
Daily software
Browser & comms
- Brave — main browser, ad-blocker on, sync off.
- Kagi — paid, ad-free search engine; results ranked for me, not for advertisers.
- speed.cloudflare.com — browser-side speed test; the web counterpart to the
speed-cloudflare-cliabove. - Cloudflare Radar — internet traffic, outage, and protocol-trends dashboard; my go-to when something feels off and I want to know if it’s just me.
- Proton Mail — encrypted email; same suite for calendar and contacts.
- Signal — encrypted messaging.
- Vesktop — Discord client; the official one stays off the box.
Productivity
- Obsidian — notes; the source of truth for knowledge.
- Todoist — tasks, captures everything.
- Reclaim.ai — auto-schedules Todoist tasks against my calendar.
- YNAB — budgeting.
- Okular — PDF and document viewer; annotations and forms when I need them.
- Fileverse — encrypted, peer-to-peer docs and spreadsheets; the Google Docs / Sheets alternative I default to for shared drafts.
- Zotero — reference manager for papers and citations; pulls metadata from a DOI, exports clean BibTeX, syncs across machines.
- Calibre — ebook library and conversion.
Files
- Nautilus — graphical file manager when I want to point and click.
- PeaZip — archive GUI for the rare zip/7z/rar.
- LocalSend — AirDrop-style cross-platform file transfer over the local network, no cloud round-trip.
- czkawka — duplicate file finder.
- gallery-dl — bulk-download from gallery sites.
- nyaa — torrent search CLI.
- qBittorrent — torrent client.
- TeamViewer — remote support for family.
Media & creative
- TIDAL — lossless music streaming.
- Clementine — local music library.
- mpv — video player.
- OBS Studio — screen recording.
- REAPER — DAW.
- DaVinci Resolve — video editing.
- AniList — anime and manga tracker.
- PPSSPP — PSP emulator.
AI
- Claude Code — terminal-based coding assistant; my main LLM tool. See ai use for how that shows up on this site.
- Hermes Agent — open-source agentic LLM (Nous Research’s Hermes line) that learns.
- Ollama — local model runner for offline experiments and anything I don’t want leaving the laptop.
- Modal — serverless Python compute for the GPU jobs my laptop can’t run; pay per second, no infra to babysit.
- OpenRouter — single API gateway for switching between LLM providers without rewriting code.
- Hugging Face (and the huggingface-hub CLI) — model and dataset hub; where I pull weights and reference cards.
- arena.ai — blind side-by-side comparison of LLM responses; quick sanity check on which model is actually better for a given prompt.
- DeepWiki — auto-generated, browseable wikis for GitHub repos; faster than reading raw source when I’m new to a codebase.
- Grokipedia — xAI’s encyclopedia; useful as a second opinion against Wikipedia, with a different bias I keep in mind.
- nodepad — spatial canvas for notes that quietly classifies, links, and synthesises with an LLM in the background; AI as a side-channel rather than the centre of attention.