https://github.com/ben196888/mac-set-up
Setup my new mac
https://github.com/ben196888/mac-set-up
macos macos-setup setup setup-macos setup-script
Last synced: about 1 year ago
JSON representation
Setup my new mac
- Host: GitHub
- URL: https://github.com/ben196888/mac-set-up
- Owner: ben196888
- License: mit
- Created: 2014-08-01T02:36:49.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2025-04-09T06:58:09.000Z (about 1 year ago)
- Last Synced: 2025-04-13T05:56:26.274Z (about 1 year ago)
- Topics: macos, macos-setup, setup, setup-macos, setup-script
- Language: Shell
- Homepage:
- Size: 126 KB
- Stars: 9
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
```bash
.
├── 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
```bash
git clone https://github.com/ben196888/mac-set-up.git
cd mac-set-up
```
### 2. Run the full setup
```bash
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](https://github.com/ben196888/mac-set-up/archive/refs/heads/master.zip)
2. Extract the ZIP file and navigate to the folder:
```bash
cd ~/Downloads/mac-set-up-master # Or wherever you unzipped it
```
3. Run the installer:
```bash
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.