Skip to content

Your first machine

The first machine is the one that supplies the content: dotfix reads what Homebrew has installed and writes it into a fresh repository. Nothing on your Mac is changed in the process.

Terminal window
dotfix doctor

This reports the things that otherwise fail quietly — a missing Homebrew, a background agent that cannot reach your SSH key, a secret provider whose tooling is not installed.

Terminal window
dotfix init --set-up-new --machine mbp

--machine names this Mac. The name becomes a file (machines/mbp.toml) and appears in every sync, so keep it short and free of spaces.

dotfix runs its pre-flight checks, then creates:

PathWhat it is
~/dotfilesYour configuration repository, initialised with one commit
~/.config/dotfix/config.tomlPoints this Mac at that repository
~/Library/LaunchAgents/dev.noix.dotfix.plistThe hourly background check

Everything installed goes into the set core. Splitting it up comes later, and by hand — see Sets.

The repository is local until you give it somewhere to go:

Terminal window
cd ~/dotfiles
git remote add origin git@github.com:you/dotfiles.git
git push -u origin main

Use a private repository. Even without secrets in it, the list of what you have installed says a lot about what you work on.

Terminal window
dotfix status

On a machine you have used for a while this will list a few things — most often your shell configuration, which dotfix did not write and therefore will not overwrite.

  • Add another Mac to the same repository.
  • Learn how sets let each machine take only what it needs.