Skip to content

ben196888/mac-set-up

Folders and files

NameName
Last commit message
Last commit date
Apr 7, 2025
Apr 7, 2025
Apr 8, 2025
Aug 1, 2014
Apr 7, 2025
Apr 8, 2025
Apr 7, 2025
Apr 5, 2025
Apr 8, 2025
Apr 7, 2025
Apr 8, 2025
Apr 7, 2025
Apr 13, 2025
Apr 6, 2025
Apr 7, 2025

Repository files navigation

macOS Dev Environment Setup

Automate the installation and configuration of a full macOS development environment: CLI tools, programming languages, editors, and system preferences.


πŸ“ Folder Structure

.
β”œβ”€β”€ git/
β”‚   β”œβ”€β”€ .gitconfig
β”‚   β”œβ”€β”€ .gitignore_global
β”‚   └── install.sh
β”œβ”€β”€ languages/
β”‚   β”œβ”€β”€ dotnet.sh
β”‚   β”œβ”€β”€ go.sh
β”‚   β”œβ”€β”€ java.sh
β”‚   β”œβ”€β”€ javascript.sh
β”‚   β”œβ”€β”€ latex.sh
β”‚   β”œβ”€β”€ python.sh
β”‚   └── rust.sh
β”œβ”€β”€ zsh/
β”‚   β”œβ”€β”€ .zshrc
β”‚   └── install.sh
β”œβ”€β”€ browsers.sh
β”œβ”€β”€ cli_tools.sh
β”œβ”€β”€ devtools.sh
β”œβ”€β”€ essential.sh
β”œβ”€β”€ ides.sh
β”œβ”€β”€ install.sh
β”œβ”€β”€ macos.sh
β”œβ”€β”€ terminal.sh
β”œβ”€β”€ tools.sh
└── README.md

πŸš€ Setup Instructions

1. Clone this repo

git clone https://github.com/ben196888/mac-set-up.git
cd mac-set-up

2. Run the full setup

chmod +x install.sh
./install.sh

Comment out any steps in install.sh if you only want part of the setup.


πŸ” Alternative: Download ZIP and run

  1. Download this repo as a ZIP from GitHub Download ZIP

  2. Extract the ZIP file and navigate to the folder:

cd ~/Downloads/mac-set-up-master  # Or wherever you unzipped it
  1. Run the installer:
chmod +x install.sh
./install.sh

βš™οΈ What It Installs

  • Zsh config: with Starship, Oh My Zsh, and language-aware prompts
  • Git setup: with aliases, delta, and conditional editor logic
  • VS Code + Cursor: with settings sync and optional extension restore
  • Terminal: Warp + shell utilities
  • Languages: Go, Python, Node (via n), Rust, Java (via SDKMAN), .NET (via Homebrew), LaTeX
  • Browsers: Firefox, Chrome, Edge, DuckDuckGo
  • Dev Tools: OrbStack (Docker), kubectl, Postman, Google Cloud SDK, ChatGPT, Raycast
  • System Preferences: Dock, trackpad gestures, key remapping, fast repeat rate

🧠 Notes

  • All .zshrc additions are conditional to avoid errors if tools aren't installed
  • macos.sh applies safe defaults write and hidutil changes (some may require logout/reboot)
  • You can export/import GUI app settings (like Rectangle) separately if needed

🧩 Optional Improvements

  • Implement checkpoint/resume mechanism to allow interrupted installations to continue from the last successful step, with progress tracking and state persistence
  • Add login item setup via osascript (e.g., for Raycast or Rectangle)
  • Add versioned global.json for .NET SDK pinning
  • Add sync logic for VS Code extensions
  • Add robust brew cask installation handling with pre-installation checks and force flags to prevent interruptions from existing app installations
  • Add checks for npm global installations to prevent conflicts with Homebrew-installed packages (e.g., yarn, pnpm)

πŸ“„ License

MIT β€” use it, fork it, improve it.