Bootstrap a fresh Mac quicker than the time it takes to make a cuppa.
- ⚡ Nothing to install — one
curlandbootstrapis on your$PATH. No Go toolchain, no faff. - 🍺 Homebrew on autopilot — grabs Homebrew if it's missing, then pours every package from your
Brewfile. - 🔗 Dotfiles that write home — your configs symlink out of the repo, so tweak one and it lands straight back in git. Commit, push, done.
- 💻 A Mac that feels like yours — bends a fresh machine's settings to your will in a single job.
- 🔄 Ages like fine wine —
updategrabs the newest binary,syncpulls the latest changes. - 👀 No nasty surprises —
--dry-runshows you exactly what'll happen before anything changes.
On a fresh Mac, with nothing but curl:
curl -fsSL https://raw.githubusercontent.com/nednella/bootstrap.sh/main/bootstrap.sh | bashbootstrap # show help and all available commands
bootstrap dotfiles # symlink dotfiles into $HOME / XDG_CONFIG_HOME
bootstrap install # install packages via Brewfile
bootstrap macos # apply macOS preferences
bootstrap sync # pull the latest content from the repo
bootstrap update # update the binary to the latest release-d, --dry-run # preview any command without changing anything
-h, --help # show help for any command
-v, --version # print the versionThe Go module lives in cli/:
make build # → bin/bootstrap (version stamped from git)
make install-dev # build + install a `dev` binary to /usr/local/bin
make uninstall-dev # remove the local install