A comprehensive, cutting-edge automated developer setup for macOS with modern tools, parallel installation, and complete automation.
- β‘ Parallel Installation: 3-5x faster setup through concurrent operations
- π― Progress Tracking: Real-time progress indicators with time estimates
- π Auto-Retry Logic: Resilient against network failures with exponential backoff
- π Complete Automation: SSH/GPG keys + GitHub CLI authentication out-of-the-box
- β Idempotent: Run multiple times safely without side effects
- Package Management: Homebrew with declarative
Brewfile - Shell: Zsh + Oh My Zsh + Starship prompt
- Version Management: Mise (unified Node/Python/Ruby/etc)
- Python: UV (10-100x faster than pip)
- Shell History: Atuin (SQLite-backed, searchable, synced)
- Terminal Multiplexer: Zellij (modern tmux alternative)
ezaβ modernlswith icons & git statusbatβ moderncatwith syntax highlightingripgrepβ fastergrepwith smart defaultsfdβ modernfindwith intuitive syntaxdustβ modernduwith tree visualizationprocsβ modernpswith better outputzoxideβ smartercdwith frecencygit-deltaβ beautiful git diffsbtopβ modernhtopwith graphs
- Ghostty - GPU-accelerated terminal
- Warp - Modern terminal with AI
- Cursor - AI-native code editor
- VS Code with essential extensions
- Claude Code (Anthropic)
- Open Code
- Antigravity (Google's AI IDE)
Clone the repository and run the automated setup:
git clone git@github.com:paul-phan/dev-setup.git
cd dev-setup
chmod +x setup.sh
./setup.shWhat it does:
- β Installs Xcode CLI Tools & Homebrew
- β Installs all modern tools (UV, Mise, Atuin, Zellij, Carapace, etc)
- β Sets up shell (Zsh + Oh My Zsh + Starship + powerful autocompletion)
- β Generates SSH & GPG keys automatically
- β Configures GitHub CLI authentication
- β Installs VS Code extensions (parallel)
- β Configures macOS system defaults
- β Shows real-time progress with time estimates
Time: ~10-15 minutes
After running the setup script:
- Restart your terminal to load new shell configuration
- Install Cursor IDE (optional): https://cursor.sh/download
- Install Antigravity (optional): https://antigravity.google/download
- Configure Raycast: Open from Applications and set as Spotlight replacement
Your terminal now has cutting-edge autocompletion powered by modern tools:
-
Carapace - Smart completions for 1000+ commands
- Knows valid flags, arguments, and values for git, docker, npm, kubectl, etc.
- Context-aware (suggests only valid options)
- Faster than traditional completion scripts
-
zsh-autosuggestions - Fish-like inline suggestions
- Gray text appears as you type (from your history)
- Press
βorCtrl+Spaceto accept
-
zsh-syntax-highlighting - Real-time validation
- Green = valid command
- Red = invalid/not found
- Helps catch typos before hitting Enter
-
Atuin - Magical history search
- Press
βfor fuzzy history search - SQLite-backed, searchable, synced across machines
- Press
-
fzf - Fuzzy finder integration
Ctrl+R- Search command historyCtrl+T- Find files (with preview!)Alt+C- Change directory (fuzzy)
# Start typing, see suggestions appear in gray
git comβ # Shows: git commit (from history)
# Press β to accept
# Tab completion with Carapace
git <Tab> # Shows all git subcommands
git commit -<Tab> # Shows all commit flags with descriptions
# Fuzzy history search (Atuin)
β # Opens interactive search
# Type: "docker run" β finds all docker run commands
# Fuzzy file finder (fzf)
Ctrl+T # Opens file browser with preview
# Type to filter, Enter to select
# Fuzzy directory changer
Alt+C # Opens directory browser
# Jump to any directory quickly# Accept partial suggestion (zsh-autosuggestions)
Alt+β # Accept one word from suggestion
# Navigate completion menu
Tab # Open menu
Tab Tab # Cycle through options
Shift+Tab # Reverse cycle
Ctrl+N/P # Next/Previous in menu
# Search while in completion menu
/pattern # Filter completions (with Carapace)# Install Node.js
mise use --global node@20
# Install Python
mise use --global python@3.12
# Install multiple versions
mise use node@18 node@20 python@3.11 python@3.12
# Auto-switch based on .tool-versions
cd my-project # Automatically uses versions from .tool-versions# Create virtual environment (10-100x faster than venv)
uv venv
# Install packages (blazing fast)
uv pip install requests pandas numpy
# Install from requirements.txt
uv pip install -r requirements.txt# Search history interactively
atuin search
# Search for specific command
atuin search "git commit"
# Sync history across machines (optional)
atuin login
atuin sync# Start session
zellij
# Create new pane: Ctrl+p then n
# Switch panes: Ctrl+p then arrow keys
# Create new tab: Ctrl+t then n- Dependencies: Edit
Brewfileto add/remove apps or tools - Shell: Edit
.zshrc(user config) or.aliases(shortcuts) - Git: Edit
.gitconfig - Setup Script: Modify
setup-2026.shfor custom automation
# Clean up and retry
rm -rf /opt/homebrew
./setup-2026.sh# Verify SSH key is added to ssh-agent
ssh-add -l
# Test GitHub connection
ssh -T git@github.com# Ensure VS Code CLI is in PATH
which code
# If not found, open VS Code and run:
# Cmd+Shift+P β "Shell Command: Install 'code' command in PATH"- β‘ 3-5x faster setup through parallel installation
- π― Progress tracking with real-time status updates
- π Auto-retry logic for network-related failures
- π Automated SSH/GPG key generation & GitHub setup
- π― Cutting-edge autocompletion: Carapace (1000+ commands), zsh-autosuggestions, fzf, Atuin
- π¦ Modern tools: UV, Mise, Atuin, Zellij, Carapace
- π¦ Rust CLI tools: fd, dust, procs, btop, git-delta
- π€ Cursor IDE support (AI-native editor)
- π Arc browser (modern browser with workspaces)
- β Idempotent design - run multiple times safely
- π Better logging - detailed logs in
~/.setup-logs/
2026 comprehensive rewrite with modern tools, parallel installation, and complete automation.
Based on the original dev-setup by Donne Martin.