A no-nonsense setup kit for a new Mac. It installs the stuff I actually use, the same way every time, with as little clicking as possible.
This repo is built around three things:
- Homebrew packages (
Brewfile) - Fonts (
Brewfile.fonts) - Mac App Store apps (
Brewfile.mas) Plus a couple of scripts to make the whole thing painless.
-
pre-setup.sh
One-time prep. Think: prerequisites, sane defaults, and setup checks. -
install.sh
The main installer. Runs the bundle installs and ties everything together. -
Brewfile
CLI tools and apps installed via Homebrew. -
Brewfile.fonts
Fonts installed via Homebrew casks. -
Brewfile.mas
Mac App Store installs viamas(you need to be signed in).
- Update macOS.
- Make sure you can run Terminal commands.
- Read the scripts. Seriously. It’s your machine.
Clone the repo and run the scripts:
git clone https://github.com/vladimircezar/macOS-Setup.git
cd macOS-Setup
chmod +x pre-setup.sh install.sh
./pre-setup.sh
./install.shIf you prefer to run installs manually (or debug step-by-step), you can do:
# Base packages
brew bundle --file Brewfile
# Fonts
brew bundle --file Brewfile.fonts
# Mac App Store apps (requires App Store sign-in)
brew bundle --file Brewfile.masBrewfile.mas uses mas under the hood.
Do this first:
- Open the App Store app
- Sign in with your Apple ID
Then run:
brew bundle --file Brewfile.masIf mas complains, it’s almost always because you are not signed in.
The normal routine:
brew update
brew upgrade
brew upgrade --cask
brew cleanup
# If you use Mac App Store installs
mas upgradeIf you want Homebrew to match the Brewfiles again:
brew bundle --file Brewfile
brew bundle --file Brewfile.fonts
brew bundle --file Brewfile.masEdit the Brewfiles and re-run brew bundle.
I like leaving comments so future-me doesn’t hate past-me:
brew "fastfetch" # nice system info header in terminal
cask "iterm2" # better terminal app than the defaultThen apply:
brew bundle --file BrewfileYou can tell Homebrew to remove anything not listed in a Brewfile. This can be destructive if you use Homebrew for other stuff on that Mac.
Use with your eyes open:
brew bundle cleanup --file Brewfile --forceInstall Homebrew, then restart Terminal and try again.
Make sure you have access to casks and try again:
brew update
brew bundle --file Brewfile.fontsOpen the App Store and sign in first, then:
brew bundle --file Brewfile.mas- This repo is opinionated. That’s the point.
- If you want a “work Mac” vs “personal Mac” split, make separate Brewfiles and keep them small.
- Don’t run scripts as root unless you enjoy pain.
MIT