Snapshot

Capture your current Mac’s dev environment and turn it into a shareable config β€” without building anything from scratch.

openboot snapshot

Or if you don’t have openboot yet:

curl -fsSL https://openboot.dev/install.sh | bash -s -- snapshot

What It Captures

CategoryWhat’s ScannedHow
Homebrew FormulaeTop-level CLI tools (not dependencies)brew leaves
Homebrew CasksAll installed GUI appsbrew list --cask
Homebrew TapsThird-party repositoriesbrew tap
NPM Global PackagesGlobally installed npm packagesnpm list -g
macOS Preferences23 whitelisted developer settingsCurated list
Shell ConfigOh-My-Zsh plugins, theme, aliases.zshrc parsing
Git Configuser.name, user.email, editor, default branch~/.gitconfig
Dev ToolsGo, Node.js, Python, Rust, Java, Ruby, DockerVersion detection

Only whitelisted data is captured. No SSH keys, API tokens, .env files, or credentials β€” ever.

How It Works

Step 1 β€” Scan. OpenBoot scans your system with real-time progress:

βœ“ Homebrew Formulae    28 found
βœ“ Homebrew Casks       12 found
βœ“ macOS Preferences     9 found
βœ“ Shell Environment     scanned
βœ“ Git Config            scanned

Step 2 β€” Review. A full-screen TUI editor lets you customize what’s included:

  • Tabs: Formulae, Casks, NPM Packages, macOS Preferences
  • Space to toggle individual items on/off
  • / to search, a to select all in a category
  • Taps, Shell, Git, and Dev Tools are shown as a read-only summary

Step 3 β€” Save. Choose where it goes:

  • Upload to openboot.dev β€” get a shareable install URL
  • Save locally β€” stored at ~/.openboot/snapshot.json

If you upload, you’ll authenticate via browser (like gh auth login), name your config, and get a one-line install command:

openboot install yourname/my-setup

Flags

FlagWhat it does
--dry-runPreview what would be captured, without saving or uploading
--jsonOutput snapshot as JSON to stdout β€” great for piping to jq
--localSave to ~/.openboot/snapshot.json instead of uploading
--import <path>Restore from a local file or URL

Privacy & Safety

Snapshots are designed to be safe to share:

  • Paths sanitized β€” home directory references replaced with ~/
  • Whitelisted preferences only β€” no arbitrary system data is read
  • No secrets captured β€” SSH keys, tokens, credentials are never included
  • Full control β€” you review and deselect anything before uploading

See Config Options for the full list of macOS preferences that can be captured.