OpenBoot
Setting up a new Mac shouldn't take two hours of your weekend.
You know the drill. New Mac, same two-hour ritual:
brew install git node go python rust docker kubectl terraform brew install --cask visual-studio-code docker iterm2 chrome slack figma npm install -g typescript eslint prettier # dig through old laptop for .zshrc # re-configure git identity # tweak macOS settings one by one # two hours later, still missing something
Here's the alternative:
brew install openbootdotdev/tap/openboot openboot
Pick what you need in a terminal UI. Takes minutes. Or snapshot your current Mac and share it—your whole team gets the same setup with one command.
No tracking. No telemetry. Just works.
Why OpenBoot?
Fresh project, proven demand — 2 weeks old, already trending on Reddit (100K+ views) and growing fast.
Brewfiles are manual YAML editing. Nix has a brutal learning curve. Shell scripts break silently. Dotfile repos become unmaintainable after six months.
OpenBoot is the first tool that handles everything — packages, dotfiles, shell config, macOS preferences, git identity — in an interactive TUI you can actually navigate. No config files to learn. No YAML to write. Just pick what you need and go.
Quick Start
brew install openbootdotdev/tap/openboot openboot
Alternative: one-line installer
curl -fsSL openboot.dev/install.sh | bashHow It Compares
| OpenBoot | Brewfile | chezmoi | nix-darwin | |
|---|---|---|---|---|
| Interactive package picker | TUI | manual edit | — | — |
| Web dashboard | openboot.dev | — | — | — |
| Shareable install URL | openboot -u you |
— | — | — |
| Snapshot & restore | full environment | — | dotfiles only | full (steep curve) |
| Learning curve | Low | Low | High | Very High |
What It Does
- Homebrew packages & apps — Installs Docker, VS Code, Chrome, whatever you need
- Dotfiles — Clone your repo and symlink with GNU Stow, or skip it
- Shell config — Sets up Oh-My-Zsh with useful aliases
- macOS settings — Developer-friendly defaults for Dock, Finder, keyboard
- Git setup — Asks for your name and email, configures git
- Smart about duplicates — Detects what's already installed, skips it
- Clean command — Remove packages that drifted from your config
- Full restore — Snapshots save everything: packages, git config, shell theme, plugins
Web Dashboard
openboot.dev — if you'd rather click than type commands.
- Visual builder — Pick packages with checkboxes instead of editing YAML
- Brewfile import — Already have a Brewfile? Drop it in, it maps automatically
- Shareable links — Every config gets a URL:
openboot.dev/yourname/my-setup - Team configs — Share one link, everyone gets the same environment
Presets
Three starting points. Pick one, adjust in the TUI. Full list →
| Preset | What's In It |
|---|---|
| minimal | CLI tools: ripgrep, fd, bat, fzf, lazygit, gh, Warp, Raycast, Rectangle |
| developer | Minimal + Node, Go, Docker, VS Code, Chrome, OrbStack, TablePlus |
| full | Developer + Python, Rust, kubectl, Terraform, Ollama, Cursor, Figma |
Most people start with developer and uncheck what they don't need.
Snapshot
Already have a Mac set up the way you like? Save it.
This captures everything: Homebrew packages, macOS settings, shell config, git identity. Upload it to openboot.dev for a shareable URL, or save it locally with --local.
When you restore a snapshot, you get everything back exactly as it was. Docs →
Clean
Installed too much? Clean up what's not in your config.
openboot clean # Compare against local snapshot openboot clean --user yourname # Compare against cloud config openboot clean --from my-setup.json # Compare against a snapshot file openboot clean --dry-run # See what would be removed
For Teams
New hire runs one command, gets the same environment as everyone else. Guide →
brew install openbootdotdev/tap/openboot openboot --user yourteam/frontend
Make your config on the dashboard, put this in your onboarding docs. When your stack changes, update the config. The install command stays the same.
Advanced Usage
CI / Automation
brew install openbootdotdev/tap/openboot OPENBOOT_GIT_NAME="Your Name" \ OPENBOOT_GIT_EMAIL="you@example.com" \ openboot --preset developer --silent
Or with the one-line installer:
OPENBOOT_GIT_NAME="Your Name" \ OPENBOOT_GIT_EMAIL="you@example.com" \ curl -fsSL openboot.dev/install.sh | bash -s -- --preset developer --silent
All Commands
openboot # Interactive setup openboot snapshot # Capture your current setup openboot clean # Remove packages not in your config openboot doctor # Check system health openboot update # Update Homebrew and packages openboot update --dry-run # Preview updates openboot version # Print version
CLI Options
-p, --preset NAME Set preset (minimal, developer, full)
-u, --user NAME Use remote config from openboot.dev
-s, --silent Non-interactive mode (requires env vars)
--dry-run Preview what would be installed
--update Update Homebrew and packages
--shell MODE Shell setup: install, skip
--macos MODE macOS prefs: configure, skip
--dotfiles MODE Dotfiles: clone, link, skip
Environment Variables
| Variable | Description |
|---|---|
OPENBOOT_GIT_NAME |
Git user name (required in silent mode) |
OPENBOOT_GIT_EMAIL |
Git user email (required in silent mode) |
OPENBOOT_PRESET |
Default preset |
OPENBOOT_USER |
Remote config username |
FAQ
Do I need anything installed first? macOS 12.0 or newer. Homebrew if you have it, but the installer will get it for you if not.
What if I already have some of these tools? It checks what's installed and skips anything you already have.
Is my data tracked? No. No telemetry, no analytics. Code is open source, check for yourself.
Docs
📖 openboot.dev/docs — Quick Start · Presets · Snapshot · Custom Configs · Teams
Contributing
Bug reports and feature requests: open an issue. Pull requests welcome.
Development Setup
git clone https://github.com/openbootdotdev/openboot.git
cd openboot
go build -o openboot ./cmd/openboot
./openboot --dry-runopenboot.dev · Dashboard · Docs · Dotfiles template
License: MIT
