nix-installer

Install Nix and flakes with the fast and reliable Determinate Nix Installer, with over 2 million installs.

LGPL-2.1 License

Downloads
12
Stars
2.1K
Committers
20

Bot releases are hidden (Show)

nix-installer - v0.26.2

Published by grahamc 29 days ago

nix-installer - v0.26.1

Published by grahamc about 1 month ago

This release resolves a race condition and instability when running determinate-nixd login right after startup.

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.26.0...v0.26.1

nix-installer - v0.26.0

Published by cole-h about 1 month ago

macOS Sequoia

Apple's new macOS version, Sequoia, conflicts with most existing installations of Nix.
This release includes a repair sequoia command that fixes the issue.

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.

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 (i.e. _nixbld1) users.
When upgrading to Sequoia, macOS's update tool deletes the conflicting users.

More information

For more information, see the upstream Nix tracking issue: https://github.com/NixOS/nix/issues/10892


What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.25.0...v0.26.0

nix-installer - v0.25.0

Published by grahamc about 1 month ago

nix-installer - v0.24.0

Published by cole-h about 2 months ago

This release contains the Nix version bump to 2.24.5, which includes a fix for the issue we mentioned in the release notes for https://github.com/DeterminateSystems/nix-installer/releases/tag/v0.23.0 (a regression in substituting store paths with many dependencies, https://github.com/NixOS/nix/issues/11387).

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.23.0...v0.24.0

nix-installer - v0.23.0

Published by cole-h about 2 months ago

This release has a couple important-to-note changes:

  • It changes the installed-by-default Nix version back to 2.23.3 due an observed regression in substitution. For more information, see the upstream bug report: https://github.com/NixOS/nix/issues/11387.
  • All new macOS installations will now have a build GID of 350 and build UIDs that start at 351 (for nixbld1), in order to be robust against the upcoming macOS Sequoia update. Work is still in progress on implementing a migration helper for existing pre-Sequoia macOS installations; stay tuned for more information.

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.22.0...v0.23.0

nix-installer - v0.22.0 Latest Release

Published by grahamc about 2 months ago

nix-installer - v0.21.0

Published by cole-h 2 months ago

This release has a few important-to-note changes:

What's Changed

New Contributors

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.20.2...v0.21.0

nix-installer - v0.20.2

Published by cole-h 3 months ago

This patch release release improves macOS 15 beta fresh install support by handling the case where reading the current system version from SystemVersion.plist returns the compatibility version 10.16, instead of 15.0.

A huge thank you to @ratbag98 for their assistance in narrowing down the issue and testing out various approaches to resolve the problem!

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.20.1...v0.20.2

nix-installer - v0.20.1

Published by cole-h 3 months ago

This release includes preliminary support for the macOS 15 beta, by relocating the build user UIDs into the 450-499 range. This will only be useful for fresh installations.

What's Changed

New Contributors

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.20.0...v0.20.1

nix-installer - v0.20.0

Published by cole-h 4 months ago

This release bumps the installed-by-default Nix version to 2.23.1, addressing CVE-2024-38531 (https://github.com/NixOS/nix/security/advisories/GHSA-q82p-44mg-mgh5).

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.19.1...v0.20.0

nix-installer - v0.19.0

Published by cole-h 6 months ago

This release includes a couple of improvements:

  1. On all targets, we bundle the default Nix version we install into the installer binary itself.
  2. On macOS, we give a better error message when a device policy would prevent mounting the internal Nix Store volume we want to create.

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.18.0...v0.19.0

nix-installer - v0.5.0

Published by cole-h over 1 year ago

This release includes some more work towards supporting installing over existing installations (see https://github.com/DeterminateSystems/nix-installer/issues/126 for more information on our curing effort). Specifically, an existing /etc/nix/nix.conf file will no longer be a hard error[^1] and will instead be merged with the settings that we desire.

It also fixes a few bugs, like a typo in a permissions check (checking a file had a mode of 664 instead of 644), a macOS installation bug that affected some setups (see https://github.com/DeterminateSystems/nix-installer/issues/295 and https://github.com/DeterminateSystems/nix-installer/pull/298 for more information), and explicitly erroring on WSL1 as unsupported.

If you rely on us as a library, the change that will impact you the most is that we made all of our error enums #[non_exhaustive], so that adding new variants in the future won't require a new major version.

The diagnostics report also saw a slight rework to be somewhat more useful in actually diagnosing issues. A diagnostic report now looks like this:

{
  "version": "0.5.0",
  "planner": "linux",
  "configured_settings": [
    "modify_profile"
  ],
  "os_name": "Ubuntu",
  "os_version": "22.04.1 LTS (Jammy Jellyfish)",
  "triple": "x86_64-unknown-linux-musl",
  "is_ci": false,
  "action": "Install",
  "status": "Failure",
  "failure_chain": [
    "Action(\"configure_nix\")",
    "Child(\"place_nix_configuration\")",
    "Child(\"create_directory\")",
    "CreateDirectory(\"/etc/nix\")"
  ]
}

What's Changed

Full Changelog: https://github.com/DeterminateSystems/nix-installer/compare/v0.4.0...v0.5.0


[^1]: Currently, only experimental-features will be merged (please file an issue if you would like to see other options supported!); any other conflict between our desired settings and an existing nix.conf will still cause an error. In other words, if the setting is not one that we are trying to set (see the list here: https://github.com/DeterminateSystems/nix-installer/blob/v0.5.0/src/action/common/place_nix_configuration.rs#L32-L45), it will be seamlessly merged into the resulting nix.conf file.