Skip to content

Commit

Permalink
Fetch updates from i.d.s by default (#772)
Browse files Browse the repository at this point in the history
* Fetch updates from i.d.s by default

Our goal is to deliver a solid experience with Nix flakes, including an upgrade path that is safe. Occasionally, the upstream Nix project may introduce regressions for the common flake path. This is not desirable for our users, who depend on a consistent and stable flakes experience.

Additionally, the Nix project isn't directly responsible for delivering updates to users as that role is delegated to the Nixpkgs project.

Overall, this means upgrades are not consistently delivered to users.

This update directs future update requests to install.determinate.systems, which we will upgrade as part of our standard release process.

Our standard release process includes proactive testing: validating our installer and Nix's behavior across a wide variety of platforms and scenarios.

After an update passes our proactive validation, we do a phased rollout of reactive monitoring: the update is released to a small percentage of users on GitHub Actions. We monitor the failure rate of the installer and overall workflows to ensure the updated Nix isn't causing widespread failure we weren't able to identify ahead of time.

Only after a release passes both proactive and reactive validation, our macOS .pkg and nix-upgrade paths are bumped to the most recent release. This gives user the confidence they're looking for that the Nix release they're getting is safe.

* Universal -> universal
  • Loading branch information
grahamc authored Dec 8, 2023
1 parent 8c9e64d commit 0b01725
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/action/common/place_nix_configuration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ impl PlaceNixConfiguration {
"extra-nix-path".to_string(),
"nixpkgs=flake:nixpkgs".to_string(),
);
settings.insert(
"upgrade-nix-store-path-url".to_string(),
"https://install.determinate.systems/nix-upgrade/stable/universal".to_string(),
);

let create_directory = CreateDirectory::plan(NIX_CONF_FOLDER, None, None, 0o0755, force)
.await
Expand Down

0 comments on commit 0b01725

Please sign in to comment.