diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 46f11322484..fa088e04fe5 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -227,13 +227,8 @@ in rec { inherit storeDir stateDir confDir boehmgc; }); - nixFlakes = callPackage ({ makeWrapper, runCommand, ... }: - runCommand "nix-flakes" { buildInputs = [ makeWrapper ]; } '' - mkdir -p $out/bin - for bin in ${nixUnstable}/bin/*; do - makeWrapper $bin $out/bin/$(basename $bin) \ - --suffix NIX_CONFIG "\n" "experimental-features = nix-command flakes" - done; - '') {}; + nixFlakes = nixUnstable.overrideAttrs (prev: { + patches = (prev.patches or []) ++ [ ./enable-flakes.patch ]; + }); } 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 00000000000..998067449b7 --- /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 experimentalFeatures{this, {}, "experimental-features", ++ Setting experimentalFeatures{ ++ this, {"flakes", "nix-command"}, "experimental-features", + "Experimental Nix features to enable."}; + + bool isExperimentalFeatureEnabled(const std::string & name);