My fresh macOS developer setup.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/dbartolomei/dotfiles/main/bootstrap.sh)"- Shell: Zsh + Oh My Zsh + Powerlevel10k theme
- Terminal: Ghostty
- Editors: Cursor, Zed, Neovim
- Python: pyenv + latest Python + ruff/poetry via pipx
- Node: nvm + latest LTS Node.js
- Containers: OrbStack (Docker replacement)
Installed via npm for latest versions:
- Claude Code -
claude(Anthropic) - Codex -
codex(OpenAI) - Gemini -
gemini(Google)
Modern replacements and essentials:
zoxide- smarter cdeza- modern lsbat- cat with syntax highlightingripgrep- fast grepfd- fast findfzf- fuzzy finderlazygit- git TUIgit-delta- better diffs
Browsers, communication, productivity - see Brewfile for full list.
| File | Description |
|---|---|
bootstrap.sh |
Downloads and runs everything |
setup-system.sh |
macOS system settings (Dock, Finder, keyboard) |
setup-dev.sh |
Development environment setup |
Brewfile |
Homebrew packages and apps |
Brewfile.lock.json |
Frozen package versions |
To completely reset and reinstall:
# Uninstall Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
# Remove leftovers
sudo rm -rf /opt/homebrew
rm -rf ~/Library/Caches/Homebrew
# Reinstall via bootstrap
bash -c "$(curl -fsSL https://raw.githubusercontent.com/dbartolomei/dotfiles/main/bootstrap.sh)"Remove packages not in Brewfile:
brew bundle cleanup --force
brew cleanup --prune=all
brew autoremove- Open terminal and run
p10k configureto set up prompt - Add SSH key to GitHub:
cat ~/.ssh/id_ed25519.pub | pbcopy - Authenticate AI tools:
claude- Claude Codecodex- OpenAI Codexgemini auth login- Gemini