Command What it does statusShow what differs between this machine and the repository applyApply incoming changes and removals adoptTake locally installed packages or edited configs into the repository setsList or toggle this machine’s sets doctorVerify the local setup initSet up dotfix on this machine
dotfix status [--json] [--write-status-line] [--no-sync]
Prints everything in sync, or one line per difference. See Packages for what the markers mean.
Option Effect --jsonMachine-readable output --write-status-lineWrite the shell status line instead of printing a report — this is what the hourly agent runs --no-syncSkip the fetch-and-pull that normally runs first
dotfix apply [--dry-run] [--yes] [--no-sync]
Option Effect --dry-runShow what would happen; change nothing --yesDo not ask for confirmation --no-syncSkip the fetch-and-pull that normally runs first
dotfix adopt [--set <name>] [--yes] [--no-sync]
Walks each difference and offers what can be done about it. --set chooses which set adopted packages land in; without it, the machine’s first set is used.
dotfix sets --enable <name>
dotfix sets --disable <name>
dotfix doctor [--install-agent]
Checks Homebrew, Git, the LaunchAgent, SSH key access, and whatever the machine’s secret provider needs. --install-agent writes the LaunchAgent plist.
dotfix init --set-up-new [--machine <name>] [--yes]
dotfix init --repo <url> [--machine <name>] [--yes]
Option Effect --set-up-newBuild a new repository from what is installed here --repo <url>Clone an existing repository instead --machine <name>Name this machine; you are prompted if omitted --yesDo not ask for confirmation