Automated setup script for configuring a new Mac with development tools and personal configurations.
- Languages: Python (latest), Node.js
- Version Control: Git
- Package Managers: Homebrew, npm, pip, wget
- Build Tools: GCC, Xcode Command Line Tools
- Code Editor: VS Code (with command line tool and Settings Sync)
- Browsers: Firefox
- Development: Docker
- Communication: Slack, Zoom
- Productivity: Notion, 1Password
- Window Management: Aerospace
- Launcher: Raycast
- Terminal: Ghostty
- Shell: Oh My Zsh with plugins (autosuggestions, syntax highlighting, completions)
- Key Remapping: Caps Lock → Escape (persistent)
- Dock: Custom setup with VS Code, Slack, and Firefox only
- Dotfiles: Copies your personal configurations from
dotfiles/folder - SSH Keys: Generates new SSH key pair
- Git Configuration: Sets up user name and email
new-mac-setup/
├── setup.py # Main Python setup script
├── dotfiles/
│ ├── .zshrc # Zsh configuration
│ ├── .gitconfig # Git configuration
│ └── .aerospace.toml # Aerospace window manager config
└── README.md # This file
-
Clone this repository:
git clone https://github.com/leowrites/new-mac-setup.git cd new-mac-setup -
Customize your dotfiles in the
dotfiles/folder -
Run the setup:
python3 setup.py
-
Follow the prompts for Git configuration and SSH key setup
- Installs Xcode Command Line Tools (if not already installed)
- Installs Homebrew package manager
- Installs all required tools and applications via Homebrew
- Installs Oh My Zsh and useful plugins
- Copies your dotfiles from
dotfiles/to your home directory - Sets up Git configuration (asks for your name and email)
- Generates SSH keys for GitHub/Git usage
- Maps Caps Lock to Escape (persistent across reboots)
- Configures Dock with only VS Code, Slack, and Firefox
- Sets up VS Code with Settings Sync for extensions and settings
- Sets up VS Code command line tools
Edit the cli_tools and cask_apps lists in the install_brew_packages() method.
Edit the files in the dotfiles/ folder to match your preferences.
- Restart Terminal or run
source ~/.zshrcto apply Zsh changes - Complete VS Code Settings Sync by signing into GitHub in VS Code
- Add SSH key to GitHub: The script will display your public key
- Sign into applications: 1Password, Slack, Zoom, Notion, etc.
- Configure Raycast and Aerospace with your preferred shortcuts
- macOS (the script checks for this)
- Internet connection
- Administrator privileges (for some installations)
MIT License - feel free to use and modify as needed.