Last verified November 2023

Last updated November 2023

See also

You might also be interested in Setting Up A New Mac In 2023.



  • Two desks in an L. One is sit/stand
  • Keebio Quefrency keyboard, Kailh Speed Pro Burgundy switches, and PBT keycaps (SA profile to match my amusing Git modifier keycaps but I much prefer DSA. I might like XDA or DES or CS better but have not tried them.)
  • Logitech M330 Silent Plus mouse
  • Two 24" monitors on a two-monitor arm (three x 27" is my sweet spot I think)



  • registrar and host. They run entirely on renewable energy. My go-to since 2011 and I've had only good experiences.
  • GitHub, GitLab code storage
  • Vercel hosting, CD


Fathom. Use my referral code to get $10 off your first bill!


Development, General

  • Brave browser (see also my browser plugins)
  • Firefox I use to inspect event listeners
  • Fork I have this Git GUI open at all times for its graph, for copying commit SHAs, and —though for most things I prefer typing over mousing— I often use it for staging files/lines. It’s nice for reflog too, but as of this writing its lost commits are not always complete (installed via Homebrew)
  • GitHub CLI Easily open pull requests locally (installed via Homebrew)
  • GPG Suite part of my setup for signing Git commits. (installed via Homebrew)
  • iTerm Fast, customizable, actively developed terminal app (installed via Homebrew)
  • Pop code pairing tool: multiplayer control, screen sharing, audio/video
  • VSCodium VS Code without MS branding, telemetry, and licensing (see also my editor plugins)

Development, stack-specific

Other, general

  • 1Password password manager
  • Notion docs, kanban, tables, etc. Sometimes with the desktop app (installed via Homebrew)
  • RescueTime time tracker for productivity, time management, focus/life management (installed via Homebrew)

Other, system-specific

  • Aerial free open-source screensaver of high quality videos
  • Bartender hides menubar item (installed via Homebrew)
  • Better Touch Tool I use it to resize and move windows without having to carefully click the window edge, but it can do all kinds of fancy things (installed via Homebrew)
  • CapsLocker my keyboard does not have a light in the caps lock key. CapsLocker tells me when caps lock is on (my config: start at login, HUD visible while caps lock is active, sounds, colored icons)
  • Clocker additional clocks in the menu bar (installed via Homebrew)
  • Coconut Battery menubar item and diagnostics. I hide the macOS battery menubar item and use this instead (installed via Homebrew)
  • Homebrew package manager
  • Itsycal macOS calendar menubar item. I hide the date in macOS’s Date & Time menubar item and use this instead (installed via Homebrew)
  • Karabiner Elements Customize your keyboard layout. I add a layer with media controls and arrows on the home row (installed via Homebrew)
  • Micro Snitch show an HUD when your microphone is being used (installed via Homebrew)
  • Mimestream macOS email client
  • Muzzle Automatically silences desktop notifications when you’re sharing your screen (installed via Homebrew)
  • Rectangle tile windows on your screen with keyboard commands (installed via Homebrew)
  • Rocket macOS emoji picker (installed via Homebrew)
  • WiFi Signal signal strength analyzer menubar item. I hide macOS’s WiFi with Bartender and mostly use this instead


I use zsh. My article Configure Zsh Options & Plugins for Productivity in macOS’s Default Shell has an outdated but relevant take on how I configure it.


  • Hometown Prompt high performance, high data:ink ratio prompt. By yours truly! (installed via zcomet)



  • asdf A single tool to manage tool versions (I’ve had trouble with the Homebrew install, so install via zcomet)
  • gh GitHub CLI handy for checking out pull requests and for forking
  • delta pretty pager for git-diff
  • GnuPG macOS’s gpg tool is non-standard. This gives you the standard one, as gpg2 (installed via Homebrew)
  • trash move files to the macOS trashcan (installed via Homebrew)
  • tree the Linux tree command (installed via Homebrew)
  • zcomet shell plugin manager
  • zsh-test-runner unit tests and coverage reports for zsh scripts. By yours truly! (installed via zcomet)

Brave/Chrome/Edge plugins




VSCodium / VS Code plugins


Editor improvements

  • advanced-new-file — I use this as a keyboard shortcut for creating a sibling to an open file
  • Auto Close Tag — automatically adds the closing HTML tag
  • Auto Rename Tag — when changing either a closing or ending HTML tag, the other automatically changes
  • change-case — changes the case of selected text
  • EditorConfig for VS Code — see
  • File Utils — duplicate, move, rename, delete files from the command palette
  • GitLens — tons of great features. I use it most heavily for inline blame annotations
  • Highlight Matching Tag — click on either an opening or closing HTML tag, and both the opening and closing tag are highlighted
  • indent-rainbow — colorize indentation
  • Sort lines
  • Sort JSON objects
  • Terminal Zoom — change the terminal font size independent of the window font size
  • TODO Highlight — highlight configured words, for instance TODO
  • Todo Tree — tree view for TODO (and other) comments. No more forgotten TODOs

Integrations + Stack-specific tools

  • 1Password — password management
  • GitHub Pull Requests and Issues — open and comment on issues; create, open, review, merge PRs
  • Import Cost — import/require package size inline annotations
  • LTeX — LanguageTool grammar/spell checking
  • Slidev


  • Astro
  • Babel JavaScript
  • ENV
  • ESLint
  • Even Better TOML
  • Inline fold — useful for hiding long utility-class class attributes
  • Prettier
  • Ruby LSP
  • Stylelint
  • Svelte for VS Code
  • Tailwind CSS IntelliSense
  • Twig Language
  • Twig Language 2
  • Vetur
  • Vue Language Features (Volar)


  • Sublime Text Keymap and Settings Importer
  • Tabnine — like Code Pilot, but it’s been around longer, is cheaper, and has more privacy options