Skip to content

v0.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Feb 23:03
· 367 commits to main since this release
f9f9278

With 0.4.0, we're feeling like the Determinate Nix Installer is ready for general usage.

It's pretty exciting and we invite you to enjoy a cupcake to celebrate with us! 🧁

As part of this step up in stability, we managed to re-enable deleting users on Macs. We originally disabled this feature because our test Macs were giving strange errors. Turns out, it's because we weren't logged in graphically, so even though our user had a secure token, they still couldn't remove users! For more details, check out #33.

We also got feedback from some users (thanks!) that the permission mode checking we added last version was too strict and in some places just plain wrong. Those should be fixed up and the errors related to them greatly improved.

This release also includes a diagnostic reporting tool, allowing adopters to report back the status of installs. This is handy if you're deploying Nix across an organization and want to catch problems with deployments. The reporter is configurable and can write small reports to files or URLs that look like this:

{
    "version": "0.4.0",
    "planner": "linux",
    "configured_settings": [ "modify_profile" ],
    "os_name": "Ubuntu",
    "os_version": "22.04.1 LTS (Jammy Jellyfish)",
    "triple": "x86_64-unknown-linux-gnu",
    "action": "Install",
    "status": "Failure",
    "failure_variant": "Symlink"
}

If your organization starts using them, please let us know! We'd like to know more about how to make them useful. The default options of the installer drop a diagnostic to us to help us root out problems. Diagnostic reporting can always be disabled by adding --diagnostic-endpoint= to the end of the install command.

We also fixed an issue with nix-shell -p not working when it should have! We now add extra-nix-path = nixpkgs=flake:nixpkgs to the nix.conf.

Lastly, this release includes a number of minor "curing" functionality, meaning things like a /nix folder already existing won't immediately cause an error. These items will still cleanly get removed on uninstall. It's intended that this functionality helps repair existing partial installs (from any source).

What's Next

Next release we plan to focus more on "curing". It's our hope we can offer users the ability to repair existing installs, complete previous partial install attempts, and offer users a chance to uninstall an existing (non nix-installer created) install. As part of that we've been hacking on nix-config-parser and it's been a lot of fun!

What's Changed

Full Changelog: v0.3.0...v0.4.0