Skip to main content
Alex Chen

Senior Developer Tools Specialist

PublishedUpdated

How to Set Up a New Mac (2026)

To set up a new Mac fast: install Homebrew, write a Brewfile listing the apps you want, then run brew bundle to install them all in one pass — or let Bundl generate the whole command for you.

Before you start

Four things to have ready. Sorting these out first is what separates a thirty-minute setup from an afternoon of error messages:

An admin user account

Homebrew installs into /opt/homebrew on Apple Silicon and needs admin rights for the one-time setup. If your Mac is managed by an employer, ask IT for admin access first. Nothing below works well on a locked-down standard account.

Apple ID, Wi-Fi, and roughly half an hour

Sign in with your Apple ID during first boot so App Store apps and iCloud Keychain work later. Downloads run into gigabytes once Xcode tools and browsers land, so use real Wi-Fi, plug in power, and leave the machine alone while brew bundle runs.

Terminal and the Xcode command line tools

Everything here runs in Terminal (Applications → Utilities → Terminal). Homebrew needs Apple's command line tools; the installer usually offers them automatically, but if it stalls, run xcode-select --install by hand and finish that first.

A backup habit for the old machine

If you are migrating, export a Brewfile from the old Mac with brew bundle dump --file=~/Brewfile --force before you wipe it. Copy dotfiles (.zshrc, .gitconfig, ~/.ssh) separately. The new Mac setup below is fast, but it cannot recreate SSH keys you never exported.

  1. 1

    Finish macOS first-boot setup

    Sign in with your Apple ID, connect to Wi-Fi, and run Software Update (Apple menu → System Settings → General → Software Update) so you start fully patched. Turn on FileVault while you are in settings; encrypting later on a full disk takes far longer. If this Mac is for work, enroll it in your company device management before installing anything, or you will redo permissions later.

  2. 2

    Install Homebrew

    Homebrew is the package manager that installs everything else. Paste this once; it sets up at /opt/homebrew on Apple Silicon and /usr/local on older Intel Macs. When it asks, let it install the Xcode command line tools too. If Terminal then says command not found, see the troubleshooting section below: your shell PATH just needs the shellenv line.

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. 3

    Decide which apps you want

    Pick a starting set by role or category instead of installing one app at a time. Developers reach for an editor like Visual Studio Code, a terminal like Ghostty, and Docker for containers. Writers and researchers start with Obsidian for notes and Raycast as a launcher. Browse Bundl’s curated collections and category hubs, or let the AI builder assemble a bundle for you. My default advice: one browser, one terminal, one editor, one window manager, one launcher, one notes app. You can always add more later; restraint now means fewer permission dialogs and less cleanup.

  4. 4

    Create a Brewfile

    A Brewfile is a plain-text list of every app, cask, and tap you want. Save the example below as ~/Brewfile and edit it to taste — this is the file that makes your setup reproducible on any future Mac. Lines starting with brew are command-line tools, lines starting with cask are graphical apps. Keep the file in a Git repo or iCloud Drive so losing the laptop never means losing the list.

    # ~/Brewfile — then run:  brew bundle --file=~/Brewfile
    tap "homebrew/bundle"
    
    # CLI essentials
    brew "git"
    brew "node"
    brew "wget"
    
    # Browsers
    cask "arc"
    cask "google-chrome"
    
    # Terminal + editor
    cask "ghostty"
    cask "visual-studio-code"
    cask "iterm2"
    
    # Window management + launcher
    cask "rectangle"
    cask "raycast"
    
    # Notes + clipboard
    cask "obsidian"
    cask "maccy"
    
    # Menu bar monitors
    cask "stats"
  5. 5

    Install everything in one pass

    Run brew bundle and Homebrew installs every line in your Brewfile — CLI tools, GUI apps, and fonts — unattended. Expect this to take a while on first run; large apps download hundreds of megabytes each. If one line fails, the rest still install. Note the failure, finish the pass, then fix that line alone rather than restarting from scratch.

    brew bundle --file=~/Brewfile
  6. 6

    Sign in and restore your config

    Launch your apps, sign in, and restore dotfiles (.zshrc, .gitconfig) from your backup or GitHub. Open each app at least once: macOS shows permission prompts (Accessibility for window managers, Full Disk Access for backup tools, Input Monitoring for launchers) only on first launch, and batch-approving them now beats hunting dialogs for a week. Your new Mac now matches your old one.

  7. 7

    Verify the install

    Confirm what landed before you call it done. brew list shows every installed formula and cask; compare it against your Brewfile. Run brew doctor and resolve anything it flags. Then launch the five apps you will use daily and check they behave: terminal opens a shell, the editor finds your config, the browser syncs. Catching a broken install today costs minutes; catching it mid-deadline costs hours.

    brew list
    brew doctor
  8. 8

    Keep it reproducible from now on

    A Brewfile rots if you never update it. Once a month, run brew update followed by brew upgrade to pull new versions, then refresh the file with brew bundle dump --file=~/Brewfile --force and commit it. New app you like? Add the cask line first, install second. Six months from now, your next Mac setup is one command because past-you kept the list honest.

    brew update && brew upgrade
    brew bundle dump --file=~/Brewfile --force

When something breaks

Almost every new-Mac setup hits one of these six walls. Each has a known fix; work through them in order instead of reinstalling macOS:

Terminal says "zsh: command not found: brew" after installing

The installer finished but your shell PATH does not include Homebrew yet. This is normal on Apple Silicon, where Homebrew lives at /opt/homebrew instead of /usr/local. Evaluate the shellenv line once, append it to ~/.zprofile so every new shell picks it up, then quit and reopen Terminal.

eval "$(/opt/homebrew/bin/brew shellenv)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile

The install hangs asking for command line tools

Homebrew depends on Apple's command line tools. If the popup never appears or loops, install them directly with xcode-select --install, wait for that to finish completely, then rerun the Homebrew installer. Do not run both at once.

xcode-select --install

brew bundle fails on one line and you are unsure what installed

One bad line does not poison the rest. Read the error: it usually names the exact cask or formula. Comment that line out with #, rerun brew bundle, then fix the name with brew search and install it alone. Re-running the bundle is safe; Homebrew skips anything already installed.

brew search <name>
brew install --cask <correct-name>

A cask app refuses to open: "unidentified developer" or "damaged"

This is Gatekeeper, not a broken download. The reliable fix is to right-click the app in Finder and choose Open, then confirm. If you must script around it for your own machine, xattr can clear the quarantine flag on that app bundle. Never do this with software you did not fetch yourself.

xattr -d com.apple.quarantine /Applications/<AppName>.app

brew doctor reports warnings you do not understand

Run brew doctor and read each warning literally; most are PATH conflicts or leftover files from a previous install. Fix what it names, one item at a time, and rerun until it reports ready. If you migrated from an Intel Mac with Migration Assistant, check for a stale /usr/local brew shim shadowing the Apple Silicon install.

brew doctor

An old command-line tool asks for Rosetta on Apple Silicon

Some formulae still ship Intel-only binaries and need Apple's translation layer. Install Rosetta once with the non-interactive flag, then rerun the failed install. Native Apple Silicon builds are preferable where they exist, but Rosetta is stable and officially supported for the stragglers.

softwareupdate --install-rosetta --agree-to-license

Mac App Store apps (mas entries) fail inside the bundle

App Store installs need you signed in to the App Store first, and they use numeric store IDs that change. Sign in, open the App Store once, then run the mas lines separately. I keep mas apps out of the main Brewfile and install them last so one sign-in hiccup never blocks the other fifty installs.

brew install mas
mas install <app-store-id>

New-Mac app checklist

Not sure what to put in your Brewfile? Start from a curated set and add to it. Each link below is a tested bundle or category hub: pick the one closest to your work, install it whole, then prune what you never open after two weeks.

Frequently Asked Questions

What is the fastest way to set up a new Mac?
Install Homebrew, write a Brewfile listing the apps you want, and run brew bundle to install them all in one pass. This is faster and far more repeatable than downloading installers one at a time, and the Brewfile reproduces your setup on any future Mac. Budget half an hour of unattended download time on first run; your active work is under ten minutes of typing.
What is a Brewfile?
A Brewfile is a plain-text manifest of your Homebrew taps, formulae (CLI tools), and casks (GUI apps). Running brew bundle --file=~/Brewfile installs everything in it, so your whole environment is version-controllable in one file. Commit it to Git alongside your dotfiles and it doubles as documentation of how your machine is built.
Which apps should I install first on a new Mac?
Start with a browser, a terminal, an editor, a window manager, and a launcher — then add role-specific tools. Developers add Docker and a database GUI like TablePlus; writers add a notes app and a clipboard manager like Maccy. Bundl’s Mac Essentials collection and the per-role setups (developers, designers, students) are good starting bundles.
Can I reuse my setup on another Mac?
Yes. Keep your Brewfile (and dotfiles) in a Git repo. On any new Mac, install Homebrew and run brew bundle against that Brewfile to recreate the same app set instantly. Refresh the file monthly with brew bundle dump so it never drifts from what you actually use. Teams can share one baseline Brewfile in a repo and let each person layer personal apps on top.
Do I need full Xcode to use Homebrew?
No. Homebrew needs only the Xcode command line tools, a much smaller download than the full Xcode IDE. The Homebrew installer normally fetches them for you; if that step stalls, run xcode-select --install manually and rerun the installer. Install full Xcode only if you compile iOS or macOS apps. Most users never open Xcode itself.
Does this work differently on Intel versus Apple Silicon Macs?
The workflow is identical, but the install path differs: Apple Silicon uses /opt/homebrew while Intel uses /usr/local. If you migrated with Migration Assistant from an Intel Mac, check that no old /usr/local brew shim shadows the new install, and rerun the shellenv line so your PATH points at the right prefix. If one Brewfile line fails, let the rest finish, fix that name with brew search, and install it alone. Very old Intel-only tools may additionally need Rosetta, installed once with softwareupdate --install-rosetta.