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

Graham/fh 638 determinate nix in nix installer #1474

Merged
merged 13 commits into from
Mar 5, 2025

Conversation

grahamc
Copy link
Member

@grahamc grahamc commented Mar 5, 2025

Description

Switch over to Determinate Nix as the embedded tarball, and download the Nix tarball from NixOS upon request. Refactor the "determinate" switching to use a "Distribution" enum to make the code a bit less wack. Also updates the built-in Determinate prompt text to be more clear.

Checklist
  • Formatted with cargo fmt
  • Built with nix build
  • Ran flake checks with nix flake check
  • Added or updated relevant tests (leave unchecked if not applicable)
  • Added or updated relevant documentation (leave unchecked if not applicable)
  • Linked to related issues (leave unchecked if not applicable)
Validating with install.determinate.systems

If a maintainer has added the upload to s3 label to this PR, it will become available for installation via install.determinate.systems:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/pr/$PR_NUMBER | sh -s -- install

@grahamc grahamc enabled auto-merge (squash) March 5, 2025 19:29
@grahamc grahamc merged commit be8ded8 into main Mar 5, 2025
22 checks passed
@grahamc grahamc deleted the graham/fh-638-determinate-nix-in-nix-installer branch March 5, 2025 19:49
@adamcstephens
Copy link

Could you update the documentation to reflect these changes, so it's clear how we can use the official Nix distribution? Thanks.

@grahamc
Copy link
Member Author

grahamc commented Mar 6, 2025

@adamcstephens I think we've done so in #1478?

@adamcstephens
Copy link

Hmm, I just tested manually and install --no-confirm will default to Nix still, but that's a bit unclear as the prompts will default to Determinate Nix. I generally assume a no-confirm will accept the defaults from the wizard, but that's not the case here.

@grahamc
Copy link
Member Author

grahamc commented Mar 7, 2025

Got it, thanks @adamcstephens. The way it is written now, we saw it as not installing Determinate by default since there is an explicit prompt. But, as I've shared elsewhere, that hasn't panned out to be the perception or reality -- folks tend to blam their way through the prompts and call it done. It wasn't what I expected.

The reason it isn't(see above) by default, is so users who are using the installer in automated cases and can't be prompted don't have surprising changes.

I overestimated how much people read, and that has been ... troublesome...

We're talking internally about what we could do here.

@adamcstephens
Copy link

Admittedly, I'm mostly interested in the default Nix install. But as long as there's a clear way to do an automated install of that, my needs will be met. Thanks for looking.

@grahamc
Copy link
Member Author

grahamc commented Mar 7, 2025

We will never (modulo severe bugs) switch users to Determinate Nix without some sort of prompt or required change. This has been a non-negotiable part of the design documents since the very beginning, that users of our tools in automation must make a proactive change for them to move to Determinate Nix.

Our naiveté about how much people would read and process the prompt sucked. We've worked to make the prompt more obvious about what the options are, and we're now evaluating how that is working. If we have to, we will continue to make changes. Our goal isn't to trick people into using Determinate Nix. We want for people who want the best we have to offer to choose Determinate Nix.

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

Successfully merging this pull request may close these issues.

3 participants