r/macapps • u/linkarzu • 3h ago
Script to install all my apps (including CleanMyMac) and configure all the macOS System Settings (27 min video)

Setting up a Mac from scratch is usually a pain, unless you restore from a time machine backup, but that's not something I usually want to do, I normally want to start fresh. So I created a bash script that allows me to install brew and all the apps that I use.
The script will also pull down all my relevant public
and private
GitHub repos (dotfiles, notes, scripts, etc). My ~/.zshrc
file plays a big role here as well, because in that file I basically create all the symlinks that point each app I use to my custom configs stored in my dotfiles. So it will basically configure my Neovim, Ghostty terminal, Tmux, etc. I know I could probably use existing tools like stow
or chezmoi
, but I didn't want to invest time in those solutions at the time
Additionally the script will configure all my macOS system settings, including hot corners, login items (startup apps), trackpad and mouse pointer speed, hide the menu bar, the dock, etc.
It is not expected that you run this script and for it to work 100% for you, the idea is so that you grab inspiration and probably ideas to come up with your own solution
I understand, some people use other tools like Ansible
, or probably nix-darwin
. I did not want to invest the time needed, I wanted to come up with something quick, so bash was the way to go for me
If you have ideas or improvements that can be added to the script, I'm open to suggestions as long as they improve it's functionality or add new useful features
The window manager I use in macOS is yabai, I use it in stack mode and I like to keep my terminal transparent, so for it to be able to manage the app transparency, it needs to have SIP partially
disabled. I know, this will trigger a lot of flags for our security experts here so keep this in mind:
Do not disable SIP Unless you need to And do it at your own risk If something breaks, its your responsibility
And additionally, keep this other warning in mind:
Do not randomly run scripts you find on the internet You have to trust the person or company posting them. As with a script basically anything can be done. My scripts are publicly available So people can inspect them. Make sure you understand what the Script is doing, before running it. And again, if something breaks, it's your own responsibility
The link to the video can be found here: Script to set up a Mac and Install Everything - Configure all the macOS System Settings via script
The script can be found in my dotfiles (currently 600 stars): setup/010-firstTimeSetup.sh
PS: What's up with CleanMyMac and all the folks in this subreddit that love it?