Skip to content

rafaelkamimura/macos-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

macOS Development Environment Setup

Automated setup scripts for a complete macOS development environment.

🚀 Quick Start

# 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

📋 What Gets Installed

System Package Managers

  • Homebrew - macOS package manager

Command Line Tools

  • 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

Programming Languages

  • Node.js - JavaScript runtime
  • Python 3.12 - Python programming
  • Go - Go programming language
  • Rust - Rust programming language

GUI Applications

  • Ghostty - Modern terminal emulator
  • Visual Studio Code - Code editor
  • Discord - Communication
  • Spotify - Music streaming
  • Google Chrome - Web browser
  • Claude - AI assistant
  • Docker - Containerization

Window Management

  • yabai - Tiling window manager
  • skhd - Hotkey daemon
  • sketchybar - Custom status bar

Fonts

  • MesloLG Nerd Font - Terminal font with icons

Configuration Files

All dotfiles from:

🛠 Scripts

setup.sh

Main installation script that:

  1. Installs Homebrew (if needed)
  2. Installs all packages and applications
  3. Clones and links configuration files
  4. Configures macOS system preferences
  5. Starts necessary services

backup.sh

Creates a timestamped backup of your current configuration:

./backup.sh

update.sh

Updates all installed packages and configurations:

./update.sh

📝 Post-Installation Steps

  1. Restart Terminal or run source ~/.zshrc

  2. Configure yabai (requires disabling SIP partially):

  3. Set up API Keys and credentials:

    • Create .env files as needed
    • Configure Claude API keys
    • Set up GitHub authentication
  4. Open Neovim and let it install plugins:

    nvim
  5. Customize any configurations to your preference

🔧 Manual Configuration

Some settings require manual configuration:

  • System PreferencesSecurity & Privacy → Allow yabai and skhd
  • Mission Control → Disable "Automatically rearrange Spaces"
  • Accessibility → Enable permissions for window management tools

🆘 Troubleshooting

Homebrew Installation Issues

If Homebrew fails to install, try:

xcode-select --install

Permission Issues

Grant necessary permissions in System Preferences → Security & Privacy

Service Start Failures

# Restart services manually
brew services restart yabai
brew services restart skhd
brew services restart sketchybar

📦 Updating

To update your environment:

cd ~/github/macos-setup
git pull
./update.sh

🔄 Backup and Restore

Create a Backup

./backup.sh

Restore from Backup

~/github/config-backup-[timestamp]/restore.sh

📄 License

MIT License - Feel free to use and modify!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages