From 21bfd3bbce10afb5b7718a9ee51436f3a6b34efd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 21 May 2021 15:16:35 +0200 Subject: [PATCH 1/3] Revert nixFlake / nixExperimental (#120141) Usage of the nixFlakes attribute obscures the fact that it's an experimental feature. Providing a nixExperimental attribute (which people will inevitably start using on their production machines) makes it too easy to enable all experimental features, when you should explicitly opt in to the features that you want to try out. Also, upstream Nix doesn't provide an "enable all experimental features" patch so neither should Nixpkgs. --- pkgs/tools/package-management/nix/default.nix | 8 +------- .../nix/enable-all-experimental.patch | 14 -------------- .../package-management/nix/enable-flakes.patch | 14 -------------- pkgs/top-level/all-packages.nix | 3 +-- 4 files changed, 2 insertions(+), 37 deletions(-) delete mode 100644 pkgs/tools/package-management/nix/enable-all-experimental.patch delete mode 100644 pkgs/tools/package-management/nix/enable-flakes.patch diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index ec5099c5f6e..0d93d1d7b1b 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -227,12 +227,6 @@ in rec { ]; }); - nixExperimental = nixUnstable.overrideAttrs (prev: { - patches = (prev.patches or []) ++ [ ./enable-all-experimental.patch ]; - }); - - nixFlakes = nixUnstable.overrideAttrs (prev: { - patches = (prev.patches or []) ++ [ ./enable-flakes.patch ]; - }); + nixFlakes = nixUnstable; } diff --git a/pkgs/tools/package-management/nix/enable-all-experimental.patch b/pkgs/tools/package-management/nix/enable-all-experimental.patch deleted file mode 100644 index 1712b7295a5..00000000000 --- a/pkgs/tools/package-management/nix/enable-all-experimental.patch +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index 998067449b7..00000000000 --- a/pkgs/tools/package-management/nix/enable-flakes.patch +++ /dev/null @@ -1,14 +0,0 @@ -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); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3cb78b4c225..f7954947659 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30322,8 +30322,7 @@ in nix nixStable nixUnstable - nixFlakes - nixExperimental; + nixFlakes; nixStatic = pkgsStatic.nix; From 49c22083b92404ddbeb6a88ce87cc5fbd6b879e2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 21 May 2021 15:21:31 +0200 Subject: [PATCH 2/3] nixFlakes: Turn into an alias --- pkgs/tools/package-management/nix/default.nix | 2 -- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 3 +-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 0d93d1d7b1b..159fc5b39c1 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -227,6 +227,4 @@ in rec { ]; }); - nixFlakes = nixUnstable; - } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a275fbd8057..6fddebdfc55 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -492,6 +492,7 @@ mapAliases ({ nginxUnstable = nginxMainline; # added 2018-04-25 nilfs_utils = nilfs-utils; # added 2018-04-25 nix-review = nixpkgs-review; # added 2019-12-22 + nixFlakes = nixUnstable; # added 2021-05-21 nmap_graphical = nmap-graphical; # added 2017-01-19 nologin = shadow; # added 2018-04-25 nxproxy = nx-libs; # added 2019-02-15 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7954947659..74ce21be654 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30321,8 +30321,7 @@ in }) nix nixStable - nixUnstable - nixFlakes; + nixUnstable; nixStatic = pkgsStatic.nix; From 62ee635d533c45b781255cc01c784969237d3afb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 21 May 2021 15:23:52 +0200 Subject: [PATCH 3/3] Replace nixFlakes -> nixUnstable --- pkgs/development/tools/misc/hydra/default.nix | 4 ++-- pkgs/tools/misc/nix-direnv/default.nix | 4 ++-- pkgs/tools/package-management/nix-update/default.nix | 4 ++-- pkgs/tools/package-management/nixpkgs-review/default.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix index 142322eb59d..a124b4a5c6e 100644 --- a/pkgs/development/tools/misc/hydra/default.nix +++ b/pkgs/development/tools/misc/hydra/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, nixStable, callPackage, nixFlakes, nixosTests }: +{ fetchFromGitHub, nixStable, callPackage, nixUnstable, nixosTests }: { hydra-unstable = callPackage ./common.nix { @@ -9,7 +9,7 @@ rev = "886e6f85e45a1f757e9b77d2a9e4539fbde29468"; sha256 = "t7Qb57Xjc0Ou+VDGC1N5u9AmeODW6MVOwKSrYRJq5f0="; }; - nix = nixFlakes; + nix = nixUnstable; tests = { basic = nixosTests.hydra.hydra-unstable; diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix index 61078e7edfe..94ce54a2a9a 100644 --- a/pkgs/tools/misc/nix-direnv/default.nix +++ b/pkgs/tools/misc/nix-direnv/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, gnugrep, nixFlakes }: +{ lib, stdenv, fetchFromGitHub, gnugrep, nixUnstable }: stdenv.mkDerivation rec { pname = "nix-direnv"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { # Substitute instead of wrapping because the resulting file is # getting sourced, not executed: postPatch = '' - sed -i "1a NIX_BIN_PREFIX=${nixFlakes}/bin/" direnvrc + sed -i "1a NIX_BIN_PREFIX=${nixUnstable}/bin/" direnvrc substituteInPlace direnvrc --replace "grep" "${gnugrep}/bin/grep" ''; diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix index 296f3be49cc..c205550b267 100644 --- a/pkgs/tools/package-management/nix-update/default.nix +++ b/pkgs/tools/package-management/nix-update/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonApplication , fetchFromGitHub -, nixFlakes +, nixUnstable , nix-prefetch , nixpkgs-fmt , nixpkgs-review @@ -19,7 +19,7 @@ buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ nixFlakes nix-prefetch nixpkgs-fmt nixpkgs-review ]) + "--prefix" "PATH" ":" (lib.makeBinPath [ nixUnstable nix-prefetch nixpkgs-fmt nixpkgs-review ]) ]; checkPhase = '' diff --git a/pkgs/tools/package-management/nixpkgs-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix index 2229e0c6a1d..3bfb89fe105 100644 --- a/pkgs/tools/package-management/nixpkgs-review/default.nix +++ b/pkgs/tools/package-management/nixpkgs-review/default.nix @@ -1,7 +1,7 @@ { lib , python3 , fetchFromGitHub -, nixFlakes +, nixUnstable , git }: @@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec { }; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ nixFlakes git ]) + "--prefix" "PATH" ":" (lib.makeBinPath [ nixUnstable git ]) ]; doCheck = false;