A comprehensive shell script collection to setup your macOS for various development environments.
By using this script, you acknowledge and agree to the following:
- You have read and understood the source code of the scripts you're about to execute
- You are aware of all software and packages that will be installed on your system
- The maintainer(s) of this script assume NO RESPONSIBILITY for any damages, data loss, or system issues that may occur
- It is YOUR responsibility to review the code and understand its impact on your system
- This script is provided "AS IS", without warranty of any kind
Always read shell scripts before executing them on your system. This is not just a recommendation, it's a crucial security practice.
- macOS Sierra (10.12) or later
- Basic understanding of shell scripts and development tools
- Terminal access
- Modular setup scripts for different development environments
- Interactive tool selection with toggle functionality
- Automated installation and configuration
- Support for multiple development environments:
- Frontend Development (Node.js, React, etc.)
- Backend Development (Python, Databases, etc.)
- Data Analysis (Python, R, Jupyter, etc.)
- Custom setup with all available tools
curl --remote-name https://raw.githubusercontent.com/yourusername/setupmymac/master/setup-my-mac.sh
chmod +x setup-my-mac.sh
./setup-my-mac.sh
- Node.js and npm
- Yarn
- NVM (Node Version Manager)
- Visual Studio Code
- Web browsers (Chrome, Firefox)
- Postman
- Figma
- ImageMagick
- Git
- Python3 and pip
- PostgreSQL
- MySQL
- MongoDB
- Redis
- Docker and Docker Compose
- iTerm2
- Database management tools (pgAdmin4, DBeaver)
- Git
- Python3 and pip
- R and RStudio
- Jupyter
- Anaconda/Miniconda
- Database tools
- Tableau
- Essential data science packages
- Git
- Visual Studio Code
- Essential development utilities
.
├── setup-my-mac.sh # Main script
├── scripts/
│ ├── frontend-setup.sh # Frontend tools
│ ├── backend-setup.sh # Backend tools
│ ├── data-analysis.sh # Data analysis tools
│ └── custom-setup.sh # Custom environment
└── utils/
└── helper.sh # Common functions
- Fork the repository
- Create your feature branch
- Make your changes
- Submit a pull request
If you want to contribute by adding new software or tools to the setup scripts, follow these steps:
-
Fork the Repository: Start by forking the repository to your GitHub account.
-
Clone the Repository: Clone your forked repository to your local machine.
git clone https://github.com/yourusername/setupmymac.git cd setupmymac
-
Create a New Branch: Create a new branch for your changes.
git checkout -b feat/add-new-tool
-
Modify the Setup Script:
- Open the appropriate setup script in the
scripts/
directory (e.g.,frontend-setup.sh
,backend-setup.sh
,data-analysis-setup.sh
, orcustom-setup.sh
). - Add the new tool to the
tool_names
array. - Ensure the tool is also added to the
selected_tools
array if you want it to be selected by default.
- Open the appropriate setup script in the
-
Update the Helper Script:
- Open
utils/helper.sh
. - Add a new case in the
install_tools()
function to handle the installation of the new tool. Usebrew install
or other appropriate commands. - If necessary, add any post-installation steps in the
post_install_setup()
function.
- Open
-
Test Your Changes: Run the modified script to ensure the new tool installs correctly and without errors.
-
Commit Your Changes: Follow the Conventional Commits specification for your commit message.
# For adding a new tool git add . git commit -m "feat: add [Tool Name] to setup scripts" # For fixing a tool installation git commit -m "fix: correct [Tool Name] installation process" # For updating documentation git commit -m "docs: update [Tool Name] installation instructions" # For improving existing functionality git commit -m "refactor: optimize [Tool Name] installation"
Common commit types:
feat
: A new feature or toolfix
: A bug fixdocs
: Documentation changesstyle
: Code style changes (formatting, etc.)refactor
: Code changes that neither fix bugs nor add featurestest
: Adding or modifying testschore
: Changes to the build process or auxiliary tools
-
Push Your Changes: Push your changes to your forked repository.
git push origin feat/add-new-tool
-
Submit a Pull Request: Go to the original repository on GitHub and submit a pull request from your branch.
-
Review and Feedback: The maintainers will review your pull request. Be prepared to make any requested changes.
By following these steps and commit message conventions, you can contribute new tools to the setup scripts, helping to expand the functionality and usefulness of the project for all users.
This project is licensed under the MIT License - see the LICENSE file for details.
- Homebrew - The missing package manager for macOS
- All the amazing open-source tools included in this script
If you encounter any issues, please check:
- Your macOS version compatibility
- Homebrew installation status
- Internet connectivity
- System permissions
Then create an issue in the repository with details about your problem.
2.0.2
Latest Updates:
- Added new frontend development tools:
- TypeScript, Sass, Webpack
- ESLint, Prettier
- React/Vue.js DevTools
- Lighthouse
- Expanded backend tools:
- Go, Rust
- Cloud tools (AWS/Azure CLI)
- Infrastructure tools (Terraform, kubectl)
- Web servers (Nginx, Apache)
- GraphQL
- Enhanced data analysis suite:
- Big data tools (Apache Spark, Hadoop)
- Additional databases (Neo4j, Elasticsearch)
- Visualization tools (Kibana, Power BI)
- Machine learning frameworks (TensorFlow, PyTorch)
- Improved tool categorization and documentation