From 0b0172547c4666f6b1eacb6561a59d6b612505a3 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 7 Dec 2023 22:45:05 -0500 Subject: [PATCH] Fetch updates from i.d.s by default (#772) * 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 --- src/action/common/place_nix_configuration.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/action/common/place_nix_configuration.rs b/src/action/common/place_nix_configuration.rs index a7db6ab..fe91355 100644 --- a/src/action/common/place_nix_configuration.rs +++ b/src/action/common/place_nix_configuration.rs @@ -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