Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do you need to disable nix-darwin Nix management, if you're using Determinate installer *without* the Determinate distro? #1361

Open
victorhooi opened this issue Mar 4, 2025 · 5 comments

Comments

@victorhooi
Copy link

I've installed Nix using the Determinate Nix installer - I didn't select to install their "Determinate" Nix distro - but just the vanilla one. (Sorry if I'm getting the terminology confused).

I did notice in their planner output that the nixd daemon is setup - although I think that's the default no matter whether you go vanilla Nix or Determinate, right?

Anyway, I then went through the nix-darwin README, and at this stage, it says I need to disable nix-darwin's management for nix:

victorhooi@MacBook-Pro nix-darwin % nix run nix-darwin/master#darwin-rebuild -- switch
building the system configuration...
error: Determinate detected, aborting activation
Determinate uses its own daemon to manage the Nix installation that
conflicts with nix-darwin’s native Nix management.

To turn off nix-darwin’s management of the Nix installation, set:

    nix.enable = false;

This will allow you to use nix-darwin with Determinate. Some nix-darwin
functionality that relies on managing the Nix installation, like the
`nix.*` options to adjust Nix settings or configure a Linux builder,
will be unavailable.

However, the nix-darwin README seems to suggest this is only needed if you're using the Determinate distribution:

The Nix installer from Determinate Systems is only recommended for use with flake-based setups. It can install one of two distributions of Nix:
By default, it will install vanilla upstream Nix with flakes enabled.
When run with the --determinate flag, it will install the Determinate distribution. As Determinate manages the Nix installation itself, you will need to set nix.enable = false; in your configuration to disable nix-darwin’s own Nix management. Some nix-darwin functionality that relies on managing the Nix installation, like the nix.* options to adjust Nix settings or configure a Linux builder, will be unavailable.

Just to confirm - do you need to disable nix-darwin's Nix management whenever you're using the Nix installer from Determinate Systems (even with vanilla Nix). Or did I get something wrong here in my setup?

@Enzime
Copy link
Collaborator

Enzime commented Mar 5, 2025

See #1349

@Enzime
Copy link
Collaborator

Enzime commented Mar 5, 2025

The easiest solution is to uninstall Determinate Nix and reinstall it making sure to specify no to Determinate Nix, see #1367

@TouriM
Copy link

TouriM commented Mar 5, 2025

How do you determine, if Determinate is installed? I uninstalled and re-installed twice today.

@emilazy
Copy link
Collaborator

emilazy commented Mar 6, 2025

@TouriM If you have /usr/local/bin/determinate-nixd then you have Determinate installed. nix-darwin will automatically print a message if you are using it and try to activate a system configuration without nix.enable = false;.

@victorhooi Hopefully this is clear already, but to be explicit we definitely support managing installations of vanilla Nix (and will continue to do so), and the Determinate Systems installer can still install vanilla Nix at the time of writing. I’m curious if you ran the installer with telemetry disabled or not (--diagnostic-endpoint '')? AIUI the Determinate prompt originally shipped without any explanatory text, but then had additional wording added via their telemetry API before the release today. Just wondering whether you missed that text because of disabling telemetry (or installing more than a few days ago), or if the updated wording was still confusing for you.

@TouriM
Copy link

TouriM commented Mar 6, 2025

@emilazy thanks! That was it. The uninstaller failed to delete determinate-nixd.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants