{"id":27366226,"url":"https://github.com/ben196888/mac-set-up","last_synced_at":"2025-04-13T05:56:31.111Z","repository":{"id":19257090,"uuid":"22492885","full_name":"ben196888/mac-set-up","owner":"ben196888","description":"Setup my new mac","archived":false,"fork":false,"pushed_at":"2025-04-09T06:58:09.000Z","size":129,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-13T05:56:26.274Z","etag":null,"topics":["macos","macos-setup","setup","setup-macos","setup-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ben196888.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-01T02:36:49.000Z","updated_at":"2025-04-09T06:55:06.000Z","dependencies_parsed_at":"2025-04-05T10:22:22.792Z","dependency_job_id":"3b56045b-32a9-4514-989c-de206c54c0c7","html_url":"https://github.com/ben196888/mac-set-up","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben196888%2Fmac-set-up","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben196888%2Fmac-set-up/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben196888%2Fmac-set-up/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben196888%2Fmac-set-up/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ben196888","download_url":"https://codeload.github.com/ben196888/mac-set-up/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670469,"owners_count":21142901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["macos","macos-setup","setup","setup-macos","setup-script"],"created_at":"2025-04-13T05:56:30.097Z","updated_at":"2025-04-13T05:56:31.101Z","avatar_url":"https://github.com/ben196888.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# macOS Dev Environment Setup\n\nAutomate the installation and configuration of a full macOS development environment: CLI tools, programming languages, editors, and system preferences.\n\n---\n\n## 📁 Folder Structure\n\n```bash\n.\n├── git/\n│   ├── .gitconfig\n│   ├── .gitignore_global\n│   └── install.sh\n├── languages/\n│   ├── dotnet.sh\n│   ├── go.sh\n│   ├── java.sh\n│   ├── javascript.sh\n│   ├── latex.sh\n│   ├── python.sh\n│   └── rust.sh\n├── zsh/\n│   ├── .zshrc\n│   └── install.sh\n├── browsers.sh\n├── cli_tools.sh\n├── devtools.sh\n├── essential.sh\n├── ides.sh\n├── install.sh\n├── macos.sh\n├── terminal.sh\n├── tools.sh\n└── README.md\n```\n\n---\n\n## 🚀 Setup Instructions\n\n### 1. Clone this repo\n\n```bash\ngit clone https://github.com/ben196888/mac-set-up.git\ncd mac-set-up\n```\n\n### 2. Run the full setup\n\n```bash\nchmod +x install.sh\n./install.sh\n```\n\n\u003e Comment out any steps in `install.sh` if you only want part of the setup.\n\n---\n\n### 🔁 Alternative: Download ZIP and run\n\n1. Download this repo as a ZIP from GitHub\n   [Download ZIP](https://github.com/ben196888/mac-set-up/archive/refs/heads/master.zip)\n\n2. Extract the ZIP file and navigate to the folder:\n```bash\ncd ~/Downloads/mac-set-up-master  # Or wherever you unzipped it\n```\n\n3. Run the installer:\n```bash\nchmod +x install.sh\n./install.sh\n```\n\n---\n\n## ⚙️ What It Installs\n\n- **Zsh config**: with Starship, Oh My Zsh, and language-aware prompts\n- **Git setup**: with aliases, delta, and conditional editor logic\n- **VS Code + Cursor**: with settings sync and optional extension restore\n- **Terminal**: Warp + shell utilities\n- **Languages**: Go, Python, Node (via n), Rust, Java (via SDKMAN), .NET (via Homebrew), LaTeX\n- **Browsers**: Firefox, Chrome, Edge, DuckDuckGo\n- **Dev Tools**: OrbStack (Docker), kubectl, Postman, Google Cloud SDK, ChatGPT, Raycast\n- **System Preferences**: Dock, trackpad gestures, key remapping, fast repeat rate\n\n---\n\n## 🧠 Notes\n\n- All `.zshrc` additions are conditional to avoid errors if tools aren't installed\n- `macos.sh` applies safe `defaults write` and `hidutil` changes (some may require logout/reboot)\n- You can export/import GUI app settings (like Rectangle) separately if needed\n\n---\n\n## 🧩 Optional Improvements\n\n- Implement checkpoint/resume mechanism to allow interrupted installations to continue from the last successful step, with progress tracking and state persistence\n- Add login item setup via `osascript` (e.g., for Raycast or Rectangle)\n- Add versioned `global.json` for .NET SDK pinning\n- Add sync logic for VS Code extensions\n- Add robust brew cask installation handling with pre-installation checks and force flags to prevent interruptions from existing app installations\n- Add checks for npm global installations to prevent conflicts with Homebrew-installed packages (e.g., yarn, pnpm)\n\n---\n\n## 📄 License\n\nMIT — use it, fork it, improve it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fben196888%2Fmac-set-up","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fben196888%2Fmac-set-up","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fben196888%2Fmac-set-up/lists"}