Automated setup scripts for a complete macOS development environment.
# Clone this repository
git clone https://github.com/rafaelkamimura/macos-setup.git ~/github/macos-setup
# Run the setup script
cd ~/github/macos-setup
./setup.sh- Homebrew - macOS package manager
- Git - Version control
- GitHub CLI - GitHub from the terminal
- Neovim - Modern vim-based editor
- tmux - Terminal multiplexer
- ripgrep - Fast searching
- fd - Fast file finding
- fzf - Fuzzy finder
- zsh - Z shell
- starship - Cross-shell prompt
- Node.js - JavaScript runtime
- Python 3.12 - Python programming
- Go - Go programming language
- Rust - Rust programming language
- Ghostty - Modern terminal emulator
- Visual Studio Code - Code editor
- Discord - Communication
- Spotify - Music streaming
- Google Chrome - Web browser
- Claude - AI assistant
- Docker - Containerization
- yabai - Tiling window manager
- skhd - Hotkey daemon
- sketchybar - Custom status bar
- MesloLG Nerd Font - Terminal font with icons
All dotfiles from:
Main installation script that:
- Installs Homebrew (if needed)
- Installs all packages and applications
- Clones and links configuration files
- Configures macOS system preferences
- Starts necessary services
Creates a timestamped backup of your current configuration:
./backup.shUpdates all installed packages and configurations:
./update.sh-
Restart Terminal or run
source ~/.zshrc -
Configure yabai (requires disabling SIP partially):
- Follow the official guide
-
Set up API Keys and credentials:
- Create
.envfiles as needed - Configure Claude API keys
- Set up GitHub authentication
- Create
-
Open Neovim and let it install plugins:
nvim
-
Customize any configurations to your preference
Some settings require manual configuration:
- System Preferences → Security & Privacy → Allow yabai and skhd
- Mission Control → Disable "Automatically rearrange Spaces"
- Accessibility → Enable permissions for window management tools
If Homebrew fails to install, try:
xcode-select --installGrant necessary permissions in System Preferences → Security & Privacy
# Restart services manually
brew services restart yabai
brew services restart skhd
brew services restart sketchybarTo update your environment:
cd ~/github/macos-setup
git pull
./update.sh./backup.sh~/github/config-backup-[timestamp]/restore.shMIT License - Feel free to use and modify!