Mac Zsh Configurator is a bash script that automates the setup of a highly functional and visually appealing Zsh environment on macOS.
It capitalises on existing powerful terminal window enhancement tools like oh-my-zsh and zsh-autosuggestions plugin.
Once run on your Mac, it will embellish your shell terminal with useful capabilities that will make your developer experience fun and smooth.
Whether you are a savvy developer who uses macOS or simply someone who seldom uses a shell terminal, this script makes installing shell terminal
enhancement tools seamless.
Content Navigation
Take a moment to peruse the shell terminal enhancement tools that will be installed when you run this script.
S/N | Tool | What it will do |
---|---|---|
1 | oh-my-zsh | Gives your terminal a posh lift and makes it easy to integrate with other enhancement tools |
2 | Powerlevel10k Theme | Gives your Zsh terminal a stylish look with a blazing-fast prompt and intuitive visual cues |
3 | Nerd Fonts | Adds icons, symbols, and glyphs needed for proper rendering of terminal visual enhancements. |
4 | zsh-syntax-highlighting plugin | Highlights commands as you type, making it easy to spot errors and improve command-line productivity |
5 | zsh-autosuggestions plugin | Suggests commands as you type based on your history, speeding up your workflow and reducing typing effort |
6 | colorls | Enhances your terminal’s file listing with color-coded and visually appealing outputs, basically makes navigating directories and files easier |
-
Operating System
- Do not attempt to run this script on any OS other than macOS -
Bash Shell - The script assumes your macOS already has the Bash shell installed. Though most recent macOS comes with Bash, it won't hurt to confirm.
-
Zsh Shell - As per oh-my-zsh prerequisites, version 4.3.9+ of Zsh is a requirement for oh-my-zsh. The script will attempt to install a recent version of Zsh if not already installed, BUT it is preferable if you already have it installed.
-
cURL - The script depends on curl to install some of the terminal enhancement tools listed in Tools and Features. It is a reasonable assumption that your macOS already has cURL installed, but it is safe to confirm. You can run
which curl
on your terminal and check for a positive output like/usr/bin/curl
to confirm that cURL is, indeed, installed -
Homebrew - The script will attempt to install Homebrew package manager if not already installed, BUT we prefer you manually install Homebrew before running this script as successful installation of Homebrew by this script is not guaranteed. You can visit Homebrew Documentation for details on how to install Homebrew package manager on your macOS
-
Git - Required to be installed
-
iTerm2 - Install iTerm2 terminal for a better terminal experience.
Extra Info
You can run any of the commands on your terminal to check that the listed prerequisites tools are installed and their versions.bash --version
zsh --version
curl --version
brew --version
git --version
A terminal output that shows a version statement like below is an indication that the tool is installed
❯ bash --version
bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin22)
Copyright (C) 2007 Free Software Foundation, Inc.
For quick use of this script, you can run any of the followin commands on your terminal.
Using cURL
bash -c "$(curl -fsSL https://raw.githubusercontent.com/EricOgie/maczshconfigurator/main/setup.sh)"
Using wget
You can use this option if you have wget
installed in you macOS.
bash -c "$(wget -qO- https://raw.githubusercontent.com/EricOgie/maczshconfigurator/main/setup.sh)"
If you would like to inspect the script to understand what it does before installing, you can use the URL below to inspect the raw script.
https://raw.githubusercontent.com/EricOgie/maczshconfigurator/main/setup.sh
You can also clone the project for a more robust look around.
git clone https://github.com/EricOgie/maczshconfigurator.git
This script already provides a well-rounded and feature-rich Zsh environment, but there’s always room for refinement. Whether it’s optimizing efficiency, expanding the list of useful tools, or fine-tuning configurations, I’m always open to fresh ideas that can make it even better.
If you have suggestions, optimizations, or additional tools that would enhance the developer experience, your contributions are more than welcome! Here’s how you can get involved:
- Fork the Repository – Start by creating your own copy of the project.
- Make Your Enhancements – Tweak, refine, and enhance the script to improve functionality or add useful features.
- Submit a Pull Request – Once you’re happy with your changes, open a pull request detailing what you’ve improved.
- Engage in Discussion – I’ll review your contributions and might suggest a few tweaks, so let’s collaborate to make the script even better!
No idea is too small—whether it’s fixing a minor inefficiency or introducing a game-changing improvement, your input is valued. Let’s build something awesome together! 🚀
⭐ If you find this project useful, don’t forget to star the repo!
Your support helps spread the word and encourages further development.
You should see a success message like the image below on your terminal window.
The number of installed tools and settings performed on your macOs by this script can be more or less depending on whether you already have some of the needed tools and settings in place

Do you notice how it suggests commands based on history and the most matching command? I know, it's cool! 😎 🎩

Valid commands are highlighted to differentiate them from invalid ones.
Give it to colorls - Its file and directory organization is 🔥
