Setup

Current dev environment, mid-2025.


Machine

MacBook Pro M3 Max, 14-core CPU, 30-core GPU, 36 GB unified memory. The fan has never audibly turned on. Battery life is measured in days. The only upgrade worth making since the Intel era.


Terminal

Ghostty — fast, native, config-file-driven:

# ~/.config/ghostty/config
font-family = "Berkeley Mono"
font-size = 13
theme = "catppuccin-mocha"
window-padding-x = 12
window-padding-y = 8
background-opacity = 0.95
macos-titlebar-style = hidden
shell-integration-features = no-cursor

Shell is zsh with Starship:

# ~/.config/starship.toml
format = "$directory$git_branch$git_status$character"
add_newline = false

[directory]
truncation_length = 3
style = "bold cyan"
truncate_to_repo = false

[git_branch]
symbol = " "
style = "bold purple"

[git_status]
ahead = "↑${count}"
behind = "↓${count}"
diverged = "↕"
modified = "·"

[character]
success_symbol = "[›](bold green)"
error_symbol = "[›](bold red)"

Editor

VS Code with Vim keybindings. Not Neovim — I’ve tried, I’m back.

{
  "editor.fontFamily": "Berkeley Mono",
  "editor.fontSize": 13,
  "editor.lineHeight": 1.65,
  "editor.tabSize": 2,
  "editor.formatOnSave": true,
  "editor.minimap.enabled": false,
  "editor.scrollbar.vertical": "hidden",
  "workbench.colorTheme": "Catppuccin Mocha",
  "workbench.activityBar.location": "hidden",
  "vim.useSystemClipboard": true,
  "vim.hlsearch": true,
  "vim.normalModeKeyBindings": [
    { "before": ["<C-d>"], "after": ["<C-d>", "z", "z"] },
    { "before": ["<C-u>"], "after": ["<C-u>", "z", "z"] }
  ]
}

Key extensions: GitLens, Error Lens, Pretty TypeScript Errors, Astro.


CLI tools

# core
brew install git gh ripgrep fd bat eza fzf jq

# node
brew install fnm
fnm install --lts
npm i -g pnpm

# media
brew install imagemagick ffmpeg yt-dlp

# misc
brew install tldr watchman

.zshrc aliases:

alias ls="eza --icons"
alias ll="eza -la --icons --git"
alias cat="bat"
alias find="fd"
alias grep="rg"

# git shortcuts
alias gs="git status"
alias gd="git diff"
alias gl="git log --oneline --graph"

Desk

Flexispot E7 standing desk, no monitor — laptop on a Rain Design mStand at eye level. MX Keys Mini keyboard. Magic Trackpad. No speakers, just AirPods Max. Grey anti-fatigue mat. One plant that has survived three moves.