Take a fresh Mac from zero to a working development environment with one script.
git clone https://github.com/csides/pave.git
cd pave
./bootstrap.shRe-run any time — every step is idempotent.
- Installs Xcode Command Line Tools and Homebrew.
- Installs everything in
Brewfileviabrew bundle. - Asks, per app, whether to install the opt-in extras in
Brewfile.optional(browsers, AI tools). - Sets up oh-my-zsh with powerlevel10k and installs the shell dotfiles from
dotfiles/(backing up any existing files). - Generates a per-machine SSH key and GPG signing key, configures git to sign
commits, and authenticates
gh(uploading both keys to GitHub when it can). - Applies opinionated macOS defaults (optional; it asks first).
- Walks you through the steps that can't be automated — logins and macOS privacy permissions.
--yes Assume "yes" for all prompts (non-interactive)
--skip-brew Skip Homebrew package installation
--skip-optional Skip the opt-in optional apps
--skip-zsh Skip oh-my-zsh and shell dotfiles
--skip-git Skip SSH/GPG key generation and GitHub auth
--skip-macos Skip macOS system defaults
--skip-checklist Skip the manual-steps checklist
--brewfile PATH Install from an alternate Brewfile
pre-commit install # lint, format, and secret-scan on every commit
pre-commit run --all-files
bats tests/ # unit testsCI runs the same lint hooks on every push. A weekly macOS job validates the Brewfile and proves the script is idempotent.