about summary refs log tree commit diff
path: root/pkgs/tools/package-management
diff options
context:
space:
mode:
authorMaciej Krüger <mkg20001@gmail.com>2021-05-12 02:07:17 +0200
committerGitHub <noreply@github.com>2021-05-12 02:07:17 +0200
commit9c19ef7cf2a4af99d13a1744a53d223edfc002f0 (patch)
tree73dad82df02b248bdc03e5061a38ac7a4bda7bcd /pkgs/tools/package-management
parent00794f2270c27f7097be393320d679726eff622b (diff)
parent88658813192ae0348aa307d592ac2d52398ba669 (diff)
downloadnixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.tar
nixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.tar.gz
nixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.tar.bz2
nixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.tar.lz
nixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.tar.xz
nixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.tar.zst
nixlib-9c19ef7cf2a4af99d13a1744a53d223edfc002f0.zip
Merge pull request #120141 from DavHau/davhau-nixFlakes-enable-flakes
Diffstat (limited to 'pkgs/tools/package-management')
-rw-r--r--pkgs/tools/package-management/nix/default.nix8
-rw-r--r--pkgs/tools/package-management/nix/enable-all-experimental.patch14
-rw-r--r--pkgs/tools/package-management/nix/enable-flakes.patch14
3 files changed, 35 insertions, 1 deletions
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 4dfdb7075a5b..a16e74819a63 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -227,6 +227,12 @@ in rec {
     inherit storeDir stateDir confDir boehmgc;
   });
 
-  nixFlakes = nixUnstable;
+  nixExperimental = nixUnstable.overrideAttrs (prev: {
+    patches = (prev.patches or []) ++ [ ./enable-all-experimental.patch ];
+  });
+
+  nixFlakes = nixUnstable.overrideAttrs (prev: {
+    patches = (prev.patches or []) ++ [ ./enable-flakes.patch ];
+  });
 
 }
diff --git a/pkgs/tools/package-management/nix/enable-all-experimental.patch b/pkgs/tools/package-management/nix/enable-all-experimental.patch
new file mode 100644
index 000000000000..1712b7295a5e
--- /dev/null
+++ b/pkgs/tools/package-management/nix/enable-all-experimental.patch
@@ -0,0 +1,14 @@
+diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
+index d3b27d7be..e7d002e1d 100644
+--- a/src/libstore/globals.cc
++++ b/src/libstore/globals.cc
+@@ -172,8 +172,7 @@ MissingExperimentalFeature::MissingExperimentalFeature(std::string feature)
+ 
+ void Settings::requireExperimentalFeature(const std::string & name)
+ {
+-    if (!isExperimentalFeatureEnabled(name))
+-        throw MissingExperimentalFeature(name);
++    return;
+ }
+ 
+ bool Settings::isWSL1()
diff --git a/pkgs/tools/package-management/nix/enable-flakes.patch b/pkgs/tools/package-management/nix/enable-flakes.patch
new file mode 100644
index 000000000000..998067449b7f
--- /dev/null
+++ b/pkgs/tools/package-management/nix/enable-flakes.patch
@@ -0,0 +1,14 @@
+diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
+index 3e4ead76c..81d407236 100644
+--- a/src/libstore/globals.hh
++++ b/src/libstore/globals.hh
+@@ -923,7 +923,8 @@ public:
+           value.
+           )"};
+ 
+-    Setting<Strings> experimentalFeatures{this, {}, "experimental-features",
++    Setting<Strings> experimentalFeatures{
++        this, {"flakes", "nix-command"}, "experimental-features",
+         "Experimental Nix features to enable."};
+ 
+     bool isExperimentalFeatureEnabled(const std::string & name);