Description
Note: I keep this first comment up-to-date. It includes fixes. You do not have to read the thread unless you are having trouble with its suggestions!
The macOS 15 Sequoia update takes 4 UIDs in the range we've been using, clobbering any _nixbldN users in the way (typically _nixbld1-4).
This manifests as:
-
On existing installs, build errors like:
error: the user '_nixbld1' in the group 'nixbld' does not exist
To fix this, run our migration script (which relocates/replaces _nixbld users) before or after taking the macOS 15 Sequoia update:
curl --proto '=https' --tlsv1.2 -sSf -L https://github.com/NixOS/nix/raw/master/scripts/sequoia-nixbld-user-migration.sh | bash -
Caution: If you installed Nix with a third-party installer, you should check with them for additional/different instructions.
-
On fresh installs (with unpatched installer versions), the following error creating user
_nixbld1
:<main> attribute status: eDSRecordAlreadyExists <dscl_cmd> DS Error: -14135 (eDSRecordAlreadyExists)
While the 2.24.6+ installers are fixed, older installers don't all work at the moment. (The installer fixes for this have been backported for every release back to the 2.18 series--but these aren't all quite released yet.)
If you're trying to install versions from 2.20.0 and 2.24.5, you can explicitly override the starting UID:
NIX_FIRST_BUILD_UID="351" sh <(curl -L <whatever release-specific installer URL you need>)
If you run into this error with versions older than 2.18, you'll need to download the installer tarball for your platform, unpack it, and update the first UID in
install-darwin-multi-user.sh
to 351.
More background/context on the issue
Edit: As the macOS release is near, I'm tucking context away to focus the first comment on how users can fix broken installs.
Reports are percolating about the upcoming macOS Sequoia 15 (from people trying the beta out) using 4 UIDs in the range we've been using:
- nix install breaks on UID clash #6153 (comment)
- nix install breaks on UID clash #6153 (comment)
- https://mastodon.social/@ryanbooker/112597391954278800
History on our previous change and ID range selection is in:
- fix nixbld user name/uid for macOS/darwin #4532
- macOS update "booted to Recovery" because "an error occurred migrating user data" on Big Sur/Monterey w/ multi-user Nix present #4531
PRs to address:
- installer fix: install-darwin: fix _nixbld uids for macOS sequoia #10919
- migration script to fix existing installs w/o reinstalling: add UID migration script for macOS Sequoia 15 #11075