summary refs log tree commit diff
path: root/pkgs/tools/package-management/nix/default.nix
diff options
context:
space:
mode:
authorSilvan Mosberger <silvan.mosberger@tweag.io>2023-05-26 18:25:16 +0200
committerSilvan Mosberger <silvan.mosberger@tweag.io>2023-06-01 18:07:18 +0200
commit29124b85cf8cc60c25b6618e0f9f25ea46cb03d9 (patch)
treec4e6bf8e437fd92d601125c2dc48ac113e0cc076 /pkgs/tools/package-management/nix/default.nix
parent04db3589a8150c0a97869b10e269d6d5c516f3e9 (diff)
downloadnixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.tar
nixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.tar.gz
nixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.tar.bz2
nixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.tar.lz
nixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.tar.xz
nixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.tar.zst
nixpkgs-29124b85cf8cc60c25b6618e0f9f25ea46cb03d9.zip
nixVersions.minver: init
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
Diffstat (limited to 'pkgs/tools/package-management/nix/default.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 5929868ab72..48970c6141c 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -182,6 +182,23 @@ in lib.makeExtensible (self: {
     sha256 = "sha256-hNHfvmb1bIWwqFT5nesQgwh4V0OlyZHxj5ZVSQbZ+p4=";
   };
 
+  # 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_15;