https://github.com/donnybrilliant/install.sh
Automates the setup and configuration of macOS, including installation of essential applications and system preferences.
https://github.com/donnybrilliant/install.sh
homebrew macos macos-setup zsh
Last synced: 5 months ago
JSON representation
Automates the setup and configuration of macOS, including installation of essential applications and system preferences.
- Host: GitHub
- URL: https://github.com/donnybrilliant/install.sh
- Owner: donnybrilliant
- Created: 2021-11-18T17:52:06.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-08T11:44:27.000Z (over 2 years ago)
- Last Synced: 2024-03-08T12:50:40.879Z (over 2 years ago)
- Topics: homebrew, macos, macos-setup, zsh
- Language: Shell
- Homepage:
- Size: 35.2 KB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# install.sh
Welcome to the ultimate macOS setup script! Are you tired of the tedious process of setting up your Mac from scratch after a fresh install or format? This script is designed to automate the installation of essential apps and configurations, saving you time and effort.
## Features
- **Automated Installation:** Say goodbye to manually installing your favorite software and tools. This script automates the process, making your setup hassle-free.
- **Brewfile Detection:** If you have a Brewfile present in the same folder as `install.sh` it will use that instead of the `config`file.
- **Customizable Configuration:** Tailor the setup to your needs with a customizable configuration file. Choose the software and settings you want with ease.
- **Comprehensive Setup:** From updating macOS, installing Homebrew and essential software, to configuring system preferences and Dock settings, this script covers all bases to get your macOS ready for use.
- **No External Dependencies:** The script runs without the need for any external dependencies, ensuring a smooth setup process.
## What Does It Do?
The script performs a variety of tasks to prepare a macOS machine for use:
- Updates macOS to the latest version.
- Installs Homebrew, the package manager for macOS.
- Installs essential software and applications through Homebrew casks and formulae.
- Offers the choice between installing Node.js via NVM (Node Version Manager) or Homebrew.
- Installs global NPM packages.
- Provides options to install additional software, such as .NET, Firefox Developer Edition, PostgreSQL, MySQL, MongoDB, Epic & Steam, Unity Hub, and Figma.
- Cleans up the installation environment by running `brew cleanup` and other maintenance commands.
- Sets up Git with global username and email configurations.
- Installs VSCode extensions.
- Installs selected apps from the App Store using `mas` (Mac App Store command-line interface).
- Installs and configures ohmyzsh for a better terminal experience.
- Applies custom system settings and Dock configurations to optimize the user experience.
- Automatically updates Homebrew installed packages with a specified frequency.
## Getting Started
1. **Clone this repository** to your local machine.
2. **Modify `config` file:**
- Adjust `CASKS`, `FORMULAE`, `NPMPACKAGES`, `VSCODE`, and `APPSTORE` sections to select the software you wish to install.
- Change the `SETTINGS` to choose system settings or `DOCK-*` to choose dock setup.
- **Optional: Add a `Brewfile`:**
- Add a Brewfile to the same directory as `install.sh` and it will run instead of the selected packages in `config`.
(Note that `SETTINGS` will still be applied from `config`)
3. **Run the Script:** Open Terminal, navigate to the cloned directory, and execute:
```
./install.sh
```
Follow any on-screen prompts to customize your installation further.
## To Do and Feature Ideas
- **Error Handling:** Now only takes in to account a user who runs it for the first time.
- **Improve Prompts:** Refine the prompts for a more intuitive setup experience.
- **Specialized Packages:** Add options for game development, web development packages, etc.
- **Configuration files:** Settings for Apps, Workflows etc.
- **Enhanced User Experience:** Incorporate a checklist (TUI), ASCII graphics during installation.
- **Others:** Include options to log out of FaceTime/Messages automatically.
## Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with suggestions.
Don't forget to give the project a star! Thanks again!
## Acknowledgements
- This script is built by someone tired of the manual setup process and hopes it helps others streamline their macOS setup.