background grid image
Image for post nix-support-for-macos-sequoia
Sep 13, 2024 by Graham Christensen

Prepare Nix for macOS Sequoia

Determinate Nix Installer v0.26.0 has been released, including a repair sequoia command that addresses issues with the upgrade path to macOS Sequoia.

Before upgrading to Sequoia, Nix users should run the repair tool:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/tag/v0.26.0 | sh -s -- repair sequoia --move-existing-users

Running the repair tool after upgrading to Sequoia will work, too, but Nix will not work until after the repair tool is run.

Who needs to run the repair tool?

Nix users on macOS who installed Nix with the upstream Nix installer, or Determinate Nix Installer v0.22.0 and older. Run /nix/nix-installer --version to identify the Determinate Nix Installer version used on your system.

The repair tool is safe to run, even if you installed with a Determinate Nix Installer version newer than v0.22.0.

Can I repair my Nix installation that wasn’t installed by the Determinate Nix Installer?

Yes. The Determinate Nix Installer’s repair tool works on any Nix installation on macOS.

Caveat for advanced users

Users who customized their Nix build users should read the help output of the repair sequoia command by passing the --help flag.

Why is this repair tool required?

macOS Sequoia creates users with UniqueIDs that conflict with Nix’s _nixbldN (that is _nixbld1) users. When upgrading to Sequoia, macOS’ update tool deletes the conflicting users.

More information

For more information, see the upstream Nix tracking issue: https://github.com/NixOS/nix/issues/10892 Or, join our Discord and chat with the team.


Share
Avatar for Graham Christensen
Written by Graham Christensen

Graham is a Nix and Rust developer, with a passion and focus on reliability in the lower levels of the stack. He founded Determinate Systems, Inc to support Nix adoption at your workplace.