// macOS migration toolkit

Move your whole Mac setup.
No Migration Assistant.

Capture your config on the old Mac, carry one folder across, and provision the new one from a manifest you control. Packages, dotfiles, macOS defaults, app preferences, and encrypted SSH/GPG keys.

Fastest start: curl -fsSL https://migration-machine.callmesukhi.com/install.sh | bash

~/migration-machine
# on the OLD Mac
$ git clone https://github.com/callmesukhi/migration-machine.git
$ cd migration-machine
$ ./migrate --data ~/Sync/migration capture
captured payload, manifest, encrypted secrets ✓
 
# on the NEW Mac
$ ./migrate --data ~/Sync/migration bootstrap -m mymac
MIT licensed pure bash, no runtime AES-256 secrets Homebrew + MacPorts

// why

A migration you can read before you run it

No black box. Every action is a small shell script, declared in a manifest, that you can inspect, dry-run, and override.

Manifest-driven

Declare your steps in JSON. The engine runs them in order, checks each one, and skips whatever is already done.

Modular steps

Each step is a small, idempotent script. Drop in your own, reorder them, or run just one with --only.

🔒

Encrypted secrets

SSH and GPG keys travel inside an AES-256 encrypted disk image. Never plaintext, never in the repo.

Validate & dry-run

Every step has a validation check. Preview the entire run with --dry-run before anything is touched.

GUI or CLI

A swiftDialog progress window when there's a desktop, a clean terminal list when there isn't. Auto-detected.

Tool, not your data

Your captured config lives in a folder you carry. The repo stays generic, so anyone can clone and use it.

// how it works

Three moves

Capture once, carry one folder, provision on the other side.

1

Capture

On the old Mac, export dotfiles, packages, macOS defaults, app preferences, and keys into a data folder.

2

Carry

Sync or copy that one MIGRATION_DATA folder to the new Mac. Cloud drive, USB, whatever you trust.

3

Provision

On the new Mac, run from a manifest: Xcode CLT, a package manager, your dotfiles, settings, and keys.

Ready to set up your next Mac?

Clone it, point it at your data folder, and read the docs before your first real run.