Skip to content

Installation

dotfix ships as two pieces: the dotfix command-line tool and an optional menubar app. The command-line tool is the one that matters — the background check runs it, and it can do everything the app can.

macOS13 (Ventura) or later, Apple silicon or Intel
HomebrewRequired. dotfix manages packages through it and will not set up without it.
GitRequired. Your configuration is an ordinary Git repository.
GitHub CLI (gh)Optional. Only used to offer creating the remote repository for you during setup.

The usual way:

Terminal window
brew tap NoiXdev/tap
brew install dotfix

brew upgrade dotfix from then on. The tap carries final releases only, so this will never hand you a pre-release — which is also why a beta has to come from the release page below.

For a pre-release, or when you would rather not use Homebrew. Find the version you want on the releases page and set it once:

Terminal window
VERSION=1.0.0
Terminal window
base="https://github.com/NoiXdev/dotfix/releases/download/v$VERSION"
curl -fsSLO "$base/dotfix-v$VERSION-macos-universal.tar.gz"
curl -fsSLO "$base/checksum.txt"
shasum -a 256 -c checksum.txt
tar -xzf "dotfix-v$VERSION-macos-universal.tar.gz"
sudo mv dotfix /usr/local/bin/
dotfix --version

Open dotfix_<version>_universal.dmg from the same release and drag dotfix into Applications. The app is signed with a Developer ID and notarized, so it opens without a warning.

Run it from /Applications — it registers itself as a login item only from there, so a copy left in a build directory cannot claim your login item and then disappear on the next clean build.

If you would rather compile it yourself, see Build from source. The LaunchAgent note below applies either way.

brew upgrade dotfix, or download the new tarball and replace the binary the same way. dotfix about says whether a newer release exists — it asks only when you run it, never on a timer. From source:

Terminal window
git pull
cargo install --path crates/cli --force