Hi folks, sorry if this is the incorrect place to file issues against determinate-nixd itself.
I'm currently evaluating what I may need to update in my nix configurations to update from Sonoma (15.7.7) to Tahoe (26.5.1). To do this, I installed Tahoe alongside my usual installation and installed determinate nix using the CLI installer. Specifically, I issued the command
curl -fsSL https://install.determinate.systems/nix | sh -s -- install macos --volume-label="Nix Tahoe"
to install nix. This worked fine. However, on boot, I am asked to decrypt both "Nix Store" (expected, this is the store for my default Sonoma installation) as well as "Nix Tahoe" (unexpected, the item exists in the System Keychain) as described in the source.
Running sudo ./determinate-nixd init gives the following output:
2026-06-29T02:35:57.182450Z INFO determinate_nixd::command::init: Updating Nix's trusted certificates from Keychain
at src/command/init.rs:72
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
2026-06-29T02:35:57.187940Z INFO determinate_nixd::command::init: Unlocking and mounting /nix
at src/command/init.rs:96
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
Error: Failed to unlock and mount
Caused by:
Keychain error: Keychain error: Not found
Location:
src/command/init.rs:100:22
However, editing the entry in the System's keychain such that the Account is named "Nix Store" causes the following different error when attempting to init (since it finds a keychain entry, attempts to unlock "Nix Store" (original store) using the PW generated for "Nix Tahoe"):
2026-06-29T02:41:00.641596Z INFO determinate_nixd::command::init: Updating Nix's trusted certificates from Keychain
at src/command/init.rs:72
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
2026-06-29T02:41:00.647421Z INFO determinate_nixd::command::init: Unlocking and mounting /nix
at src/command/init.rs:96
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
Unlocking any cryptographic user on APFS Volume disk3s7
Passphrase incorrect or user does not exist
2026-06-29T02:41:01.204324Z ERROR determinate_nixd::unlock: diskutil failed, status: exit status: 1
at src/unlock.rs:117
in determinate_nixd::unlock::unlock_volume with self: Unlock { volume_name: "Nix Store", fs_id: "Nix Store", mount_point: "/nix" }, password: SecretBox<str>([REDACTED])
in determinate_nixd::unlock::unlock_mount
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
2026-06-29T02:41:01.204472Z WARN determinate_nixd::unlock: Failed to unlock and mount the volume, trying to just mount it, e: Command failed with: exit status: 1
at src/unlock.rs:54
in determinate_nixd::unlock::unlock_mount
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
2026-06-29T02:41:01.433316Z ERROR determinate_nixd::unlock: Running mount_apfs to mount the Nix Store, output.status: exit status: 77
at src/unlock.rs:195
in determinate_nixd::unlock::mount_only
in determinate_nixd::unlock::unlock_mount
in determinate_nixd::command::init::execute with args: InitArgs { stop_after: None, keep_mounted: false }, dissenter: Some(DiskArbitrationDissenter)
in determinate_nixd::task_cmd
Error: Failed to unlock and mount
Caused by:
Command failed with: exit status: 77
Location:
src/command/init.rs:100:22
This leads me to believe the determinate daemon is looking for "Nix Store" in the keychain rather than my custom name, not finding it, and failing. Is there some special location it is supposed to read to resolve the proper APFS volume name/ID so it knows what volume to target? Otherwise, it seems this may be a bug. I could always add an extra item into my login keychain when it prompts me for the password, however this has the side effect of not allowing my launchd daemons to be accessible to launchd at the time login occurs.
Hi folks, sorry if this is the incorrect place to file issues against determinate-nixd itself.
I'm currently evaluating what I may need to update in my nix configurations to update from Sonoma (15.7.7) to Tahoe (26.5.1). To do this, I installed Tahoe alongside my usual installation and installed determinate nix using the CLI installer. Specifically, I issued the command
to install nix. This worked fine. However, on boot, I am asked to decrypt both "Nix Store" (expected, this is the store for my default Sonoma installation) as well as "Nix Tahoe" (unexpected, the item exists in the System Keychain) as described in the source.
Running
sudo ./determinate-nixd initgives the following output:However, editing the entry in the System's keychain such that the Account is named "Nix Store" causes the following different error when attempting to init (since it finds a keychain entry, attempts to unlock "Nix Store" (original store) using the PW generated for "Nix Tahoe"):
This leads me to believe the determinate daemon is looking for "Nix Store" in the keychain rather than my custom name, not finding it, and failing. Is there some special location it is supposed to read to resolve the proper APFS volume name/ID so it knows what volume to target? Otherwise, it seems this may be a bug. I could always add an extra item into my login keychain when it prompts me for the password, however this has the side effect of not allowing my launchd daemons to be accessible to launchd at the time login occurs.