My Mac Development Setup with Homebrew
My full Homebrew Brewfile for setting up a new Mac for development.
Download the Brewfile and run the following to install everything at once:
brew bundle --file=Brewfile
Taps
Third-party repositories for additional formulae.
tap "azure/azd"
tap "microsoft/foundrylocal"
Formulae
Core Libraries
brew "openssl@3"
brew "readline"
brew "freetype"
brew "glib"
brew "cairo"
brew "pkgconf"
Cloud CLIs
brew "awscli"
brew "azure-cli"
brew "azure/azd/azd"
brew "gh"
Language & Package Managers
brew "python@3.12"
brew "pyenv"
brew "rbenv"
brew "cocoapods"
brew "pnpm"
brew "yarn"
brew "golangci-lint"
Databases & Services
brew "mongosh"
brew "redis"
brew "nginx", restart_service: :changed
brew "supervisor"
Media & Graphics Libraries
brew "pngquant"
brew "poppler"
brew "sdl2"
brew "sdl2_image"
brew "sdl2_mixer"
Shell & Utilities
brew "pure" # Pretty Zsh prompt
brew "z" # Directory jumper
brew "duti" # Set default apps from CLI
brew "enchant" # Spell checking library
brew "lsusb" # List USB devices
Casks
AI Tools
- Claude — Anthropic's AI assistant
- Claude Code — CLI coding agent
- Copilot CLI — GitHub Copilot in the terminal
cask "claude"
cask "claude-code"
cask "copilot-cli"
Development
- Docker Desktop — Containers
- iTerm2 — Terminal emulator
- Postman — API testing
- Visual Studio Code — Code editor
- Temurin — Open-source Java runtime
cask "docker-desktop"
cask "iterm2"
cask "postman"
cask "visual-studio-code"
cask "temurin"
Browsers
cask "google-chrome"
cask "microsoft-edge"
Media & Streaming
cask "obs"
cask "shotcut"
cask "vlc"
Utilities
- KeyCastr — Keystroke visualizer for screencasts
- Maccy — Clipboard manager
- RAR — Archive tool
- The Unarchiver — Archive extractor
- Transmission — BitTorrent client
- wkhtmltopdf — HTML to PDF converter
cask "keycastr"
cask "maccy"
cask "rar"
cask "the-unarchiver"
cask "transmission"
cask "wkhtmltopdf"
Communication
- Discord
- TeamViewer — Remote desktop
cask "discord"
cask "teamviewer"
VS Code Extensions
Python
vscode "ms-python.python"
vscode "ms-python.vscode-pylance"
vscode "ms-python.debugpy"
vscode "ms-python.vscode-python-envs"
vscode "donjayamanne.python-environment-manager"
vscode "charliermarsh.ruff"
vscode "twixes.pypi-assistant"
Jupyter
vscode "ms-toolsai.jupyter"
vscode "ms-toolsai.jupyter-keymap"
vscode "ms-toolsai.jupyter-renderers"
vscode "ms-toolsai.vscode-jupyter-cell-tags"
vscode "ms-toolsai.vscode-jupyter-slideshow"
Azure & Cloud
vscode "ms-azuretools.azure-dev"
vscode "ms-azuretools.vscode-azureresourcegroups"
vscode "ms-azuretools.vscode-bicep"
vscode "ms-azuretools.vscode-containers"
vscode "ms-azuretools.vscode-docker"
vscode "ms-dotnettools.vscode-dotnet-runtime"
GitHub
vscode "github.codespaces"
vscode "github.copilot-chat"
vscode "github.vscode-github-actions"
vscode "github.vscode-pull-request-github"
vscode "anthropic.claude-code"
Databases
vscode "mongodb.mongodb-vscode"
vscode "ms-ossdata.vscode-pgsql"
vscode "mtxr.sqltools"
vscode "mtxr.sqltools-driver-mysql"
vscode "mtxr.sqltools-driver-sqlite"
Containers & Remote
vscode "docker.docker"
vscode "ms-vscode-remote.remote-containers"
Web & Markup
vscode "amandeepmittal.pug"
vscode "syler.sass-indented"
vscode "vue.volar"
vscode "esbenp.prettier-vscode"
vscode "yzhang.markdown-all-in-one"
vscode "davidanson.vscode-markdownlint"
Other
vscode "eamodio.gitlens"
vscode "mechatroner.rainbow-csv"
vscode "ms-vscode.makefile-tools"
vscode "shopify.ruby-lsp"
vscode "streetsidesoftware.code-spell-checker"
vscode "tonybaloney.vscode-pets"
UV Tools
uv "pre-commit"
uv "specify-cli"