{"id":25948791,"url":"https://github.com/skwid138/mac-environment-setup","last_synced_at":"2026-04-08T12:34:14.445Z","repository":{"id":280371387,"uuid":"941760132","full_name":"skwid138/mac-environment-setup","owner":"skwid138","description":"A collection of interactive shell scripts to automate macOS development environment setup and cleanup.","archived":false,"fork":false,"pushed_at":"2025-03-08T21:10:00.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:27:48.659Z","etag":null,"topics":["automation","developer-tools","development-environment","docker","macos","node","python","setup-scripts","shell","terminal-customization","terminal-emulator","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skwid138.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-03T02:08:42.000Z","updated_at":"2025-03-08T21:10:03.000Z","dependencies_parsed_at":"2025-03-03T03:39:04.794Z","dependency_job_id":null,"html_url":"https://github.com/skwid138/mac-environment-setup","commit_stats":null,"previous_names":["skwid138/mac-environment-setup"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/skwid138/mac-environment-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fmac-environment-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fmac-environment-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fmac-environment-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fmac-environment-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skwid138","download_url":"https://codeload.github.com/skwid138/mac-environment-setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fmac-environment-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31556234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["automation","developer-tools","development-environment","docker","macos","node","python","setup-scripts","shell","terminal-customization","terminal-emulator","zsh"],"created_at":"2025-03-04T11:22:33.272Z","updated_at":"2026-04-08T12:34:14.411Z","avatar_url":"https://github.com/skwid138.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# macOS Developer Environment Setup\n\nA collection of shell scripts to automate the setup of a macOS development environment and remove unnecessary preinstalled applications.\n\n## Features\n\n- **Modular Design**: Each script focuses on a specific task and can be run independently\n- **Interactive Workflow**: Scripts prompt before making changes\n- **Development Environment Setup**:\n  - Custom script environment with useful aliases and functions\n  - Core development tools (VS Code, Cursor IDE, Ghostty terminal)\n  - Node.js (via NVM) with LTS version\n  - Python (via Miniconda)\n  - Docker\n  - ZSH customization with Zplug and Spaceship prompt\n  - Common applications (Firefox, Chrome, Slack, Discord, Brave, Tor)\n  - GNU command line tools (replacing macOS defaults)\n  - Window management (Rectangle)\n  - Media conversion utilities (mov2gif)\n- **Application Removal**:\n  - Safe removal of GarageBand, iMovie, and iWork suite\n  - System cache cleanup\n  - Disk space recovery\n\n## Prerequisites\n\n- macOS (Tested on macOS Sequoia 15.3.1 on an M4 Max MacBook Pro)\n- Administrator privileges\n- Internet connection\n\n## Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/skwid138/mac-environment-setup.git\n   cd mac-environment-setup\n   ```\n\n2. Make the main scripts executable:\n   ```bash\n   chmod +x install.sh\n   chmod +x remove.sh\n   ```\n\n3. Run the installation script:\n   ```bash\n   ./install.sh\n   ```\n\n## Usage\n\n### Development Environment Setup\n\nThe `install.sh` script will guide you through the installation process, with prompts before executing each section:\n\n1. **Script Environment**: Sets up a custom script environment with useful utilities\n2. **Base Setup**: Installs Homebrew and CLI utilities (fortune, cowsay, lolcat, tmux)\n3. **Development Tools**: Installs VS Code, Cursor IDE, Ghostty terminal, ffmpeg, jq, and other tools\n4. **Node.js Environment**: Sets up NVM and installs the latest LTS version of Node.js\n5. **Python Environment**: Installs Miniconda for Python development\n6. **Docker**: Installs Docker Desktop\n7. **ZSH Customization**: Sets up Zplug with Spaceship prompt and useful plugins\n8. **Common Applications**: Installs Firefox, Chrome, Slack, Discord, Brave, and Tor\n9. **GNU Tools**: Installs GNU coreutils, grep, sed, awk, and findutils to replace macOS defaults as well as installs the latest bash\n10. **Window Management**: Installs Rectangle for window management\n11. **Media Utilities**: Sets up mov2gif for converting .mov files to .gif\n\nEach section can be installed independently by running the corresponding script directly:\n\n```bash\n./00-script-environment.sh\n./01-base-setup.sh\n./02-dev-tools.sh\n./03-node-setup.sh\n./04-python-setup.sh\n./05-docker-setup.sh\n./06-zsh-customization.sh\n./07-common-apps.sh\n./08-gnu-tools-setup.sh\n./09-window-management-setup.sh\n./10-media-utils-setup.sh\n```\n\n### Application Removal\n\nThe `remove.sh` script helps you remove preinstalled macOS applications and clean up system caches:\n\n1. **GarageBand**: Removes GarageBand and associated sound libraries\n2. **iWork Suite**: Removes Pages, Numbers, and Keynote\n3. **iMovie**: Removes iMovie and associated files\n4. **System Cache Cleanup**: Clears various system caches to free up disk space\n\nRun the removal script:\n```bash\n./remove.sh\n```\n\n## Script Details\n\n### Installation Scripts\n\n- **00-script-environment.sh**: Creates a modular script environment with separate files for variables, paths, aliases, and functions. Downloads custom scripts from GitHub gists.\n- **01-base-setup.sh**: Installs Homebrew and essential CLI utilities.\n- **02-dev-tools.sh**: Installs development tools including VS Code, Cursor IDE, Ghostty terminal, GitHub CLI, Google Cloud SDK, jq, and ffmpeg.\n- **03-node-setup.sh**: Sets up Node.js using NVM and installs essential global npm packages.\n- **04-python-setup.sh**: Installs Miniconda and configures the environment for Python development.\n- **05-docker-setup.sh**: Installs Docker Desktop.\n- **06-zsh-customization.sh**: Installs and configures Zplug with plugins for ZSH enhancement, as well as custom ZSH configurations.\n- **07-common-apps.sh**: Installs commonly used applications like Firefox, Chrome, Slack, Discord, Brave, and Tor.\n- **08-gnu-tools-setup.sh**: Installs GNU core utilities, grep, sed, awk, and findutils to replace macOS defaults as well as installs the latest bash.\n- **09-window-management-setup.sh**: Installs Rectangle for window management and tiling.\n- **10-media-utils-setup.sh**: Downloads and sets up mov2gif utility from GitHub gist.\n\n### Removal Scripts\n\n- **remove_garageband.sh**: Safely removes GarageBand and its associated components.\n- **remove_imovie.sh**: Removes iMovie and its associated files.\n- **remove_iwork_suite.sh**: Removes Pages, Numbers, and Keynote along with their container files.\n- **remove_other_apps.sh**: Provides options to remove other preinstalled applications.\n- **clear_system_cache.sh**: Cleans system caches to free up disk space.\n\n## Customization\n\n### Script Environment\n\nThe script environment creates the following structure in `~/code/scripts/`:\n\n- **init.sh**: Main script that sources all other scripts\n- **vars.sh**: Environment variables\n- **paths.sh**: PATH additions\n- **aliases.sh**: Command aliases\n- **functions.sh**: Utility functions\n- **cowsay_fortune_lolcat.sh**: Fun terminal additions\n- **zsh_plugins.sh**: ZSH plugin configuration with Zplug\n- **zsh_config.sh**: ZSH custom configurations\n- **Tool-specific configs**: For NVM, Conda, GCloud, etc.\n\nYou can modify these files to customize your environment.\n\n### Terminal Setup\n\nThe scripts install and configure Ghostty terminal with Zplug and Spaceship prompt for an enhanced terminal experience. You can customize the configuration by modifying:\n\n- **~/.ghostty/**: Ghostty terminal configuration\n- **~/code/scripts/zsh_plugins.sh**: ZSH plugins configuration\n- **~/code/scripts/zsh_config.sh**: ZSH keyboard shortcuts and completion settings\n\n## Future Enhancements\n\n- Additional application installation options (e.g., productivity apps, media tools)\n- System preference configurations\n- Git configuration setup\n\n## License\n\n[MIT License](LICENSE)\n\n## Acknowledgments\n\n- [Homebrew](https://brew.sh/)\n- [NVM](https://github.com/nvm-sh/nvm)\n- [Miniconda](https://docs.conda.io/en/latest/miniconda.html)\n- [Docker](https://www.docker.com/)\n- [Zplug](https://github.com/zplug/zplug)\n- [Spaceship Prompt](https://github.com/spaceship-prompt/spaceship-prompt)\n- [Ghostty Terminal](https://ghostty.com/)\n- [Rectangle](https://rectangleapp.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskwid138%2Fmac-environment-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskwid138%2Fmac-environment-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskwid138%2Fmac-environment-setup/lists"}