This is a snapshot of my development setup as of March 2026. A guide to my future self — so when I inevitably nuke my machine or get a new one, I know exactly what to install and how I like things.
First Things First
Install (or reinstall) the Xcode Command Line Tools — required for git, compilers, and Homebrew:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
Then install Homebrew — the package manager everything else depends on:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Create the source code folder:
mkdir -p ~/src && cd ~/src
Configure git with your name and email:
git config --global user.email "your@email.com"
git config --global user.name "your-username"
Don't forget: Enable the SSH agent in 1Password (Settings → Developer → Use as SSH Agent) so git uses your 1Password-stored SSH keys for authentication.
Hardware
- Computer: MacBook Pro (M3 Pro, 11-core CPU / 14-core GPU, 36 GB RAM)
- Display: One 27" monitor as primary, sometimes a 24" rotated as secondary
- Keyboard: KBParadise V60 Type R — 60% mechanical. Caps Lock remapped to Control
- Mouse: Logitech MX Master 3s — quiet clicks, fast scrolling, multi-device
Terminal & Shell
Shell: Zsh with Oh My Zsh.
Prompt: Powerlevel10k — lean style, 2-line prompt, minimal segments. Just the directory, git status, and command execution time. No clutter.
Plugins:
git— standard git aliaseszsh-autosuggestions— fish-like suggestions as you typezsh-syntax-highlighting— colors for valid/invalid commands
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
CLI Tools
I've replaced most of the default Unix tools with faster, modern alternatives:
| Default | Replacement | Why |
|---|---|---|
find | fd | Simpler syntax, respects .gitignore |
grep | ripgrep (rg) | Blazing fast, respects .gitignore |
cat | bat | Syntax highlighting, git integration |
ls | eza | Better defaults, tree view |
cd | zoxide (z) | Frecency-based directory jumping |
vim | Neovim | Async, Lua config, better plugins |
Other essentials:
- Turborepo — monorepo build system. Installed globally via
pnpm add turbo --globalfor runningturbo build,turbo lint, etc. from anywhere. - jq — lightweight command-line JSON processor. Indispensable for piping API responses and config files.
- fzf — fuzzy finder for everything.
Ctrl+Rfor history,Ctrl+Tfor files. - delta — beautiful git diffs in the terminal. Set as the default git pager.
- gh — GitHub CLI. PR creation, reviews, issue management without leaving the terminal.
- tig — text-mode interface for git. Great for browsing history.
- glow — render markdown in the terminal. Great for reading docs and READMEs without leaving the CLI.
- thefuck — auto-corrects previous console commands.
- mas — Mac App Store CLI. Install App Store apps from the terminal.
- Vercel CLI — deploy, manage env vars, and interact with the Vercel platform from the terminal.
- Supabase CLI — local development, migrations, and management for Supabase projects.
brew install neovim fd ripgrep bat eza fzf zoxide git-delta gh tig glow thefuck mas vercel-cli supabase jq
Shell Aliases
The ones I can't live without:
alias vim="nvim"
alias find="fd"
alias grep="rg"
alias pn="pnpm"
alias cc="claude"
Node.js & Package Management
- Node: v22 LTS via fnm (Fast Node Manager). It auto-switches versions when you
cdinto a project with a.node-versionfile. - pnpm: My default package manager. Fast, disk-efficient, great monorepo support.
brew install fnm pnpm
fnm install 22
fnm use 22
pnpm add turbo --global
Editors
VS Code
My primary editor.
Neovim
Running v0.11+ with a Kickstart.nvim-based config and Lazy as the plugin manager. It lives at ~/.config/nvim/.
Disable the macOS press-and-hold accent picker so key repeat works — essential for holding h/j/k/l to navigate:
defaults write -g ApplePressAndHoldEnabled -bool false
AI-Assisted Development
Claude Code
Heavily integrated into my workflow. I run it from the terminal with cc (aliased to claude).
Key setup:
- LSP enabled for better code intelligence
- Multiple plugins: TypeScript LSP, Context7, Playwright, Chrome DevTools
- Superpowers — skills for planning, debugging, TDD, code review, and more.
brew install --cask claude-code
RTK (Rust Token Killer)
A token-optimized CLI proxy that sits between Claude Code and shell commands. Saves 60-90% on tokens for dev operations. It rewrites commands transparently via hooks — e.g., git status becomes rtk git status with filtered output.
Check savings with rtk gain and discover optimization opportunities with rtk discover.
brew install rtk
Ruby
Only required for work. Ruby 4.0 via rbenv.
brew install rbenv
rbenv install 4.0.0
rbenv global 4.0.0
Fonts
All installed via Homebrew (brew install --cask):
- JetBrains Mono — my go-to for editors
- JetBrains Mono Nerd Font — same with icons for terminal
- Commit Mono — neutral, no-nonsense mono
- Fira Code — ligatures pioneer
- Geist Mono — Vercel's monospace
- Hack — classic, highly readable
- Iosevka — narrow, great for split panes
- Martian Mono — wide, bold personality
- Meslo LG Nerd Font — required by Powerlevel10k
- Monaspace — GitHub's texture healing family
- Scientifica — tiny bitmap font
- Silkscreen — pixel font
brew install --cask font-commit-mono font-fira-code font-geist-mono font-hack font-iosevka font-jetbrains-mono font-jetbrains-mono-nerd-font font-martian-mono font-meslo-lg-nerd-font font-monaspace font-scientifica font-silkscreen
macOS Apps
Productivity
- Raycast — launcher, snippets, clipboard history. Replaced Spotlight entirely.
- 1Password — password manager.
- Obsidian — notes and knowledge base.
- Notion — docs and project wikis.
- Linear — issue tracking.
- Slack — team communication.
- Amphetamine — keeps the Mac awake when needed.
- Itsycal — tiny menu bar calendar.
- Hocus Focus — auto-hides inactive app windows.
- Raindrop.io — bookmark manager.
Development
- Claude — AI assistant, desktop app.
- Warp — AI-powered terminal.
- Visual Studio Code — editor for specific tasks.
- Zed — fast native editor.
- OrbStack — Docker alternative. Faster, lighter, native ARM.
- Hoppscotch — API testing. Open source Postman alternative.
- Gitify — GitHub notifications in the menu bar.
- ForkLift — dual-pane file manager with SFTP.
Design
- Figma — UI design and prototyping.
- Shottr — screenshot tool with annotations and OCR.
- ImageOptim — lossless image compression.
- Kap — screen recording as GIF/MP4.
Browsers
- Google Chrome — for DevTools and testing.
- Firefox — for cross-browser testing.
- Safari — for WebKit testing.
- Tor Browser — privacy browsing.
Chrome Extensions
- Refined GitHub — simplifies the GitHub interface and adds useful features.
Media
- Spotify — music.
- IINA — video player. Modern, native, and miles better than VLC.
- Jellyfin — self-hosted media server client.
- NetNewsWire — RSS reader. Free, native, fast.
Communication
- WhatsApp — messaging.
- Discord — communities and voice chat.
- Zoom — video calls. I hate it, but needed for work.
Utilities
- Keka — file archiver. Handles everything.
- Dropbox — file sync.
- Transmission — lightweight torrent client.
- balenaEtcher — flash OS images to USB drives.
Music Production
- AmpliTube 5 — guitar amp and effects simulator.
- TONEX — AI tone modeling.
- Tuner T1 Pro — chromatic tuner.
Games
- Little Navmap — flight planner and navigation tool for flight simulators.
brew install --cask raycast 1password obsidian notion linear-linear slack itsycal raindropio claude warp visual-studio-code zed orbstack hoppscotch gitify forklift figma shottr imageoptim kap google-chrome firefox tor-browser spotify iina jellyfin-media-player netnewswire whatsapp discord zoom keka dropbox transmission balenaetcher
Mac App Store apps via mas:
mas install 937984704 # Amphetamine
mas install 954982733 # Tuner T1 Pro
Not available via Homebrew or mas: Hocus Focus, AmpliTube 5, TONEX. Safari is built-in.
Preferences & Philosophy
- Gatekeeper disabled: I allow apps from anywhere — many tools I use aren't code-signed.
sudo spctl --master-disable
To re-enable:
sudo spctl --master-enable
- Minimal UI: I prefer lean prompts, dark themes, and no unnecessary visual noise.
- Speed over aesthetics: Tools are chosen for performance first. If it's slow, it's gone.
- Automation: If I do it more than twice, it gets aliased or scripted.
- Modern replacements: I actively replace legacy Unix tools with faster Rust/Go alternatives.
- Monorepo by default: Shared code, unified tooling, single source of truth.
- Wallpapers: Raycast Wallpapers — clean, minimal, updated regularly.
curl -o ~/Pictures/raycast-cube.heic https://misc-assets.raycast.com/wallpapers/cube_prod.heic
osascript -e 'tell application "System Events" to tell every desktop to set picture to POSIX file "'$HOME'/Pictures/raycast-cube.heic"'
Trying
Things I'm testing but not sure if they'll stick:
- Openscreen — open source screen sharing tool.
- Clearly — keyboard-driven clarity timer for focused work.
- Spokenly — voice-to-text for macOS.
- Worktrunk — development workflow tool.
That's the setup. If you're reading this, future me — you're welcome.