Skip to content

The menubar app

The app lives in the menubar and shows the same picture dotfix status prints. Its icon is quiet when everything is in sync and carries a dot when something drifted.

The window has five tabs:

TabWhat it holds
ChangesEverything dotfix can apply — installs, removals, file writes
UnmanagedInstalled here but in no set: adopt it, or ignore it on this machine
ConfigsManaged files you edited by hand
SetsWhich sets this machine uses
HistoryRecent commits in your repository

Select what you want and apply it. For a file you can open a diff first; secret values are redacted in it.

Unmanaged packages can be adopted into a set or ignored on this machine, one row at a time.

Writing a hand-edited file back into the repository is deliberately not available here. That one action changes what every other machine receives on its next sync, so it stays a command-line operation:

Terminal window
dotfix adopt

Launching dotfix while it is already running brings the existing window forward instead of starting a second copy. Two menubar icons writing the same configuration is not a state worth supporting.

The app registers itself as a login item so its icon is there after a reboot. It does this only when it is running from /Applications or ~/Applications — a copy still sitting in a build directory would otherwise claim the login item and then disappear, leaving nothing to start and no error to explain it.