Reference
What's installed — and on which machines.
The setup asks a small set of install-time questions — work machine, whether a Mac is a server/CI machine, password manager, and identity — and those answers decide what gets installed. Here's the inventory by profile, with each line pointing to the page where you learn how it supports the workflow.
Everything here is declared in one file — the Brewfile — and installed by Homebrew on bootstrap. Plain Homebrew entries track Homebrew's current stable package; when an app has a separate faster-moving channel that we intentionally want, the Brewfile names it explicitly, such as claude-code@latest. The setup answers you gave during setup decide which blocks apply. Change machine type by re-running chezmoi init.
Both machines
The terminal-first core — installed everywhere, work or personal.
Command line & shell — see Command line & Shell
git · gh | Version control + the GitHub CLI — see Git |
jq · yq · wget · age | JSON/YAML processors, downloader, file encryption |
ripgrep · fd · bat · eza | Faster search, find, cat, and ls |
git-delta · dust · duf · btop · tokei · hyperfine | Readable diffs, disk usage, free space, live system monitor, line counts, benchmarks |
starship · antidote | The prompt and the zsh plugin manager |
fzf · zoxide · atuin | Fuzzy finder, directory jumper, smarter history |
yazi | Visual file browser with inline preview (the y command). Developer dotfiles start visible; period toggles them. Its managed config uses an exact ownership receipt so custom or changed files fail closed instead of being overwritten. |
mise · uv · direnv | Tool-version manager (Node, Python, etc.), Python project/tool manager, per-folder env |
shellcheck | Static analysis for shell scripts, including the bootstrap and helper scripts agents edit |
go · rustup | Go and Rust toolchains |
Editor, multiplexer & Git tools — see tmux, Neovim, Git
The terminal multiplexer is an explicit choice: Herdr (recommended for a new AI-native install), tmux, both with Herdr primary, or None. Existing Groundwork users retain tmux until they change it with groundwork-configure.
herdr | AI-native project, pane, and agent workspace when Herdr or Both is selected; Apache-2.0 licensed |
tmux · sesh · tmuxp | Traditional multiplexer, smart session switcher, and reusable project layouts when tmux or Both is selected |
neovim · vim | The editor (LazyVim-configured) and classic vim |
lazygit · GitUp | Terminal Git UI and a graphical history viewer |
Apps, terminal & system — see Apps, macOS desktop & Keyboard
| Ghostty · JetBrainsMono Nerd Font | The terminal window and the Nerd Font used by the prompt and tmux status bar |
| Karabiner-Elements | The Caps Lock → Esc/Ctrl remap |
| Chrome stable · Chrome Beta | Stable is the current/work default; preview adds Beta and keeps stable as a fallback. Use browser-extensions for curated links. |
| Raycast · Anybox · BetterDisplay | Keyboard launcher/window manager, Raycast Store checklist via raycast-extensions, bookmarks, and display resolution/control |
| Slack · Zoom | Team chat and calls |
| Password manager + CLI | 1Password or Bitwarden — SSH agent & commit signing |
| Xcode | Optional, only when xcode=true; App Store install for native Apple/iOS development, with first launch and signing still manual |
groundwork-help · groundwork-docs · groundwork-doctor · groundwork-karabiner-restart · largest · copy-context · chezmoi · mas · defaultbrowser | The command catalog, authoritative local-docs opener, read-only machine health report, verified Karabiner restart helper, guided disk-usage helper, AI context copier, dotfiles manager, App Store CLI, and default-browser setter: see Commands and Setup |
Personal machines only
Gated off work Macs (confirm your employer allows AI tools before enabling them there).
| AI agents | Claude Code, Codex (CLI + app), OpenCode (CLI + app), Grok Build, aider — see Editors & AI |
| AI chat / local | Claude app, ChatGPT app, Ollama (local models for Obsidian's Smart Connections) |
| Editors | VS Code, Cursor, Zed — see Editors & AI. VS Code and Cursor get a lean extension set for agent context, review, CI, testing, linting, formatting, and project formats. |
| Obsidian | Markdown notes + your knowledge base |
| IINA | Media player (plays what QuickTime won't) |
| AppCleaner | Small app-removal helper for plain dragged-in apps; use a vendor uninstaller or Homebrew first when they own the install |
| Discord · WhatsApp | Personal messaging |
| Docker Desktop | Containers with a GUI (free for personal use) |
| Unity Hub | Optional, only when game_dev=true; install Unity 6 LTS and WebGL support inside Unity Hub for the Unity FPS track |
| C# / Unity VS Code extensions | Optional, only when game_dev=true; C# Dev Kit, runtime support, C# formatting, solution explorer, and NuGet helpers |
Work machines only
Swapped in to keep work Macs license-clean and policy-friendly.
| Colima + Docker CLI | Containers without Docker Desktop's paid license — colima, docker, docker-compose, docker-buildx |
| Work VS Code extensions | The C#/.NET, SQL Server, Kubernetes, and Terraform stack (from vscode-extensions.txt) |
To install a new app on every machine, add a line to the Brewfile — in the "both machines" area, the personal-only block, or the work-only block — then commit and chezmoi apply. That's how IINA and the rest got here.