Back to Blog

Setting Up a New Mac the Fast Way - Brew Bundle and Defaults Scripting

Fazm Team··2 min read
mac-setupbrew-bundleautomationmacos-defaultsscripting

Getting a new Mac should feel exciting. Instead, it usually means two days of installing apps, tweaking settings, and trying to remember how you had everything configured. A setup script fixes this permanently.

Brew Bundle Handles Apps

Create a Brewfile that lists every app you use. Homebrew formulae for CLI tools, casks for GUI apps, and Mac App Store entries via mas. Run brew bundle on a fresh machine and walk away. Everything installs in parallel.

A typical Brewfile looks like a shopping list - brew "git", cask "firefox", mas "Xcode", id: 497799835. Maintaining it is easy. Run brew bundle dump on your current machine to generate one from what's already installed.

Defaults Scripting Is the Real Time Saver

Apps are the easy part. The time sink is system preferences. Dock size, auto-hide behavior, Finder showing file extensions, keyboard repeat rate, trackpad settings - there are dozens of these and macOS resets them all on a fresh install.

Every macOS preference maps to a defaults write command. Dock auto-hide: defaults write com.apple.dock autohide -bool true. Show file extensions: defaults write NSGlobalDomain AppleShowAllExtensions -bool true. Fast key repeat: defaults write NSGlobalDomain KeyRepeat -int 2.

Collect these into a shell script and you'll never manually dig through System Settings again.

The 30-Minute Mac

Combine the Brewfile and defaults script into a single setup repo. Clone it on a fresh Mac, run the script, restart once, and you're done. Total time is usually under 30 minutes, most of which is download time.

For an even faster approach, Fazm can handle the setup steps that don't script well - configuring app-specific settings, arranging windows, and setting up workflows that span multiple applications.

Fazm is an open source macOS AI agent. Open source on GitHub.

Related Posts