Skip to main content
The entire development environment is codified in dotfiles and reproducible from a clean M4 Mac with a one-command bootstrap (install.sh, 15 ordered steps).

The machine

  • Hardware: Apple Silicon M4 Mac Mini (Darwin 25.5.0)
  • Shell: fish (login) with fisher plugins; zsh fallback
  • Prompt: starship

CLI toolbelt

Installed via a Brewfile:

Navigation

bat, eza, zoxide, tree

Environment

direnv, miniconda

Platform

node, postgresql@18, cocoapods, gh

Apps (casks)

Claude desktop · VS Code · Figma · Linear · Notion + Notion Calendar · Raycast · Slack · Chrome · GitHub Desktop · LinearMouse · BetterDisplay · Ice / AltTab.

Managed, version-controlled configs

Everything below is symlinked from dotfiles, so the configuration is the source of truth — not the machine.
fish, git, ssh, VS Code (settings, keybindings, snippets, extensions), LinearMouse, gh, and Claude Code config.
LaunchAgents, macOS defaults.sh, and Conda environment restore.

Bootstrap a clean machine

1

Clone dotfiles

Pull the dotfiles repo onto the fresh machine.
2

Run the installer

install.sh runs 15 ordered steps — Homebrew packages and casks, symlinks, macOS defaults, and Conda restore.
3

Sign in to services

Authenticate gh and Claude; the rest of the configuration is already in place.
Because the machine is rebuildable from config, experiments are cheap — a broken setup is one bootstrap away from clean.
Last modified on June 22, 2026