summary refs log tree commit diff
path: root/pkgs/tools/package-management/nix
diff options
context:
space:
mode:
authorRobert Hensing <roberth@users.noreply.github.com>2023-06-01 20:00:36 +0200
committerGitHub <noreply@github.com>2023-06-01 20:00:36 +0200
commitfb21e6d7dd22e4c328388a54c9242636a650cfd8 (patch)
treeaaff668fd8f14d9bfeb889161e6577dd48b81747 /pkgs/tools/package-management/nix
parentc78624a0442d8416fbefffcf2853a164cd888af1 (diff)
parent013acf2396f451c73b6cd6b0148df21cbaa4c165 (diff)
Merge pull request #234070 from tweag/pathType-tests
Init `nixVersions.minimum` and fix `lib` tests for all Nix versions
Diffstat (limited to 'pkgs/tools/package-management/nix')
-rw-r--r--pkgs/tools/package-management/nix/default.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index b7e412c7a1402..a9d078d5ebd7a 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -187,6 +187,23 @@ in lib.makeExtensible (self: {
     hash = "sha256-KjcQkI2HgbP7KOlHxb2DvyHISQXo2OExvvjqTyK7P0o=";
   };
 
+  # The minimum Nix version supported by Nixpkgs
+  # Note that some functionality *might* have been backported into this Nix version,
+  # making this package an inaccurate representation of what features are available
+  # in the actual lowest minver.nix *patch* version.
+  minimum =
+    let
+      minver = import ../../../../lib/minver.nix;
+      major = lib.versions.major minver;
+      minor = lib.versions.minor minver;
+      attribute = "nix_${major}_${minor}";
+      nix = self.${attribute};
+    in
+    if ! self ? ${attribute} then
+      throw "The minimum supported Nix version is ${minver} (declared in lib/minver.nix), but pkgs.nixVersions.${attribute} does not exist."
+    else
+      nix;
+
   stable = self.nix_2_13;
 
   unstable = self.nix_2_16;