From e638d0022336da31b461ee6cfee6c85867759294 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 10 Jul 2024 17:01:37 +0200 Subject: [PATCH 1/6] Stabilize the "nix-command" feature --- doc/manual/generate-manpage.nix | 5 ----- src/libstore/build/derivation-goal.cc | 4 +--- src/libutil/args.cc | 2 +- src/libutil/experimental-features.cc | 11 +---------- src/libutil/experimental-features.hh | 1 - src/nix/main.cc | 3 --- tests/functional/config.sh | 4 ++-- tests/functional/config/nix-with-bang-include.conf | 2 +- tests/functional/experimental-features.sh | 9 --------- 9 files changed, 6 insertions(+), 35 deletions(-) diff --git a/doc/manual/generate-manpage.nix b/doc/manual/generate-manpage.nix index ba5667a43..89fec9d1c 100644 --- a/doc/manual/generate-manpage.nix +++ b/doc/manual/generate-manpage.nix @@ -36,11 +36,6 @@ let let result = '' - > **Warning** \ - > This program is - > [**experimental**](@docroot@/contributing/experimental-features.md#xp-feature-nix-command) - > and its interface is subject to change. - # Name `${command}` - ${details.description} diff --git a/src/libstore/build/derivation-goal.cc b/src/libstore/build/derivation-goal.cc index 64b8495e1..886e63263 100644 --- a/src/libstore/build/derivation-goal.cc +++ b/src/libstore/build/derivation-goal.cc @@ -994,9 +994,7 @@ void DerivationGoal::buildDone() msg += line; msg += "\n"; } - auto nixLogCommand = experimentalFeatureSettings.isEnabled(Xp::NixCommand) - ? "nix log" - : "nix-store -l"; + auto nixLogCommand = "nix log"; msg += fmt("For full logs, run '" ANSI_BOLD "%s %s" ANSI_NORMAL "'.", nixLogCommand, worker.store.printStorePath(drvPath)); diff --git a/src/libutil/args.cc b/src/libutil/args.cc index c202facdf..13208b70f 100644 --- a/src/libutil/args.cc +++ b/src/libutil/args.cc @@ -583,7 +583,7 @@ Strings argvToStrings(int argc, char * * argv) std::optional Command::experimentalFeature () { - return { Xp::NixCommand }; + return {}; } MultiCommand::MultiCommand(std::string_view commandName, const Commands & commands_) diff --git a/src/libutil/experimental-features.cc b/src/libutil/experimental-features.cc index b54a0cdc5..c69f84685 100644 --- a/src/libutil/experimental-features.cc +++ b/src/libutil/experimental-features.cc @@ -86,15 +86,6 @@ constexpr std::array xpFeatureDetails )", .trackingUrl = "https://github.com/NixOS/nix/milestone/31", }, - { - .tag = Xp::NixCommand, - .name = "nix-command", - .description = R"( - Enable the new `nix` subcommands. See the manual on - [`nix`](@docroot@/command-ref/new-cli/nix.md) for details. - )", - .trackingUrl = "https://github.com/NixOS/nix/milestone/28", - }, { .tag = Xp::GitHashing, .name = "git-hashing", @@ -302,7 +293,7 @@ static_assert( * A set of previously experimental features that are now considered * stable. We don't warn if users have these in `experimental-features`. */ -std::set stabilizedFeatures{"flakes"}; +std::set stabilizedFeatures{"flakes", "nix-command"}; const std::optional parseExperimentalFeature(const std::string_view & name) { diff --git a/src/libutil/experimental-features.hh b/src/libutil/experimental-features.hh index f195c232c..dddd5329a 100644 --- a/src/libutil/experimental-features.hh +++ b/src/libutil/experimental-features.hh @@ -20,7 +20,6 @@ enum struct ExperimentalFeature CaDerivations, ImpureDerivations, FetchTree, - NixCommand, GitHashing, RecursiveNix, NoUrlLiterals, diff --git a/src/nix/main.cc b/src/nix/main.cc index 85be80da4..92b0277d2 100644 --- a/src/nix/main.cc +++ b/src/nix/main.cc @@ -120,7 +120,6 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs, virtual RootArgs .description = "Print full build logs on standard error.", .category = loggingCategory, .handler = {[&]() { logger->setPrintBuildLogs(true); }}, - .experimentalFeature = Xp::NixCommand, }); addFlag({ @@ -136,7 +135,6 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs, virtual RootArgs .description = "Disable substituters and consider all previously downloaded files up-to-date.", .category = miscCategory, .handler = {[&]() { useNet = false; }}, - .experimentalFeature = Xp::NixCommand, }); addFlag({ @@ -144,7 +142,6 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs, virtual RootArgs .description = "Consider all previously downloaded files out-of-date.", .category = miscCategory, .handler = {[&]() { refresh = true; }}, - .experimentalFeature = Xp::NixCommand, }); } diff --git a/tests/functional/config.sh b/tests/functional/config.sh index ef4d50731..a1016a368 100755 --- a/tests/functional/config.sh +++ b/tests/functional/config.sh @@ -54,8 +54,8 @@ var=$(nix config show | grep '^allowed-uris =' | cut -d '=' -f 2 | xargs) # Test that we can !include a file. export NIX_USER_CONF_FILES=$here/config/nix-with-bang-include.conf -var=$(nix config show | grep '^experimental-features =' | cut -d '=' -f 2 | xargs) -[[ $var == nix-command ]] +var=$(nix config show | grep '^fsync-metadata =' | cut -d '=' -f 2 | xargs) +[[ $var == true ]] # Test that it's possible to load config from the environment prev=$(nix config show | grep '^cores' | cut -d '=' -f 2 | xargs) diff --git a/tests/functional/config/nix-with-bang-include.conf b/tests/functional/config/nix-with-bang-include.conf index fa600e6ff..033e85481 100644 --- a/tests/functional/config/nix-with-bang-include.conf +++ b/tests/functional/config/nix-with-bang-include.conf @@ -1,2 +1,2 @@ -experimental-features = nix-command +fsync-metadata = true !include ./missing-extra-config.conf \ No newline at end of file diff --git a/tests/functional/experimental-features.sh b/tests/functional/experimental-features.sh index d6f7f9e56..0533a7c04 100755 --- a/tests/functional/experimental-features.sh +++ b/tests/functional/experimental-features.sh @@ -79,12 +79,3 @@ nix --experimental-features '' --help 1>/dev/null nix --experimental-features '' doctor --help 1>/dev/null nix --experimental-features '' repl --help 1>/dev/null nix --experimental-features '' upgrade-nix --help 1>/dev/null - -# These 3 arguments are currently given to all commands, which is wrong (as not -# all care). To deal with fixing later, we simply make them require the -# nix-command experimental features --- it so happens that the commands we wish -# stabilizing to do not need them anyways. -for arg in '--print-build-logs' '--offline' '--refresh'; do - nix --experimental-features 'nix-command' "$arg" --help 1>/dev/null - expect 1 nix --experimental-features '' "$arg" --help 1>/dev/null -done From 98a6af2c97cba5a666afb93464c17b9b2f8c1bad Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 10 Jul 2024 17:09:34 +0200 Subject: [PATCH 2/6] doc/manual/src/contributing/hacking.md: Remove non-flake instructions --- doc/manual/src/contributing/hacking.md | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/doc/manual/src/contributing/hacking.md b/doc/manual/src/contributing/hacking.md index fc2d72217..451b38976 100644 --- a/doc/manual/src/contributing/hacking.md +++ b/doc/manual/src/contributing/hacking.md @@ -14,11 +14,6 @@ The following instructions assume you already have some version of Nix installed ## Building Nix with flakes -This section assumes you are using Nix with the experimental feature [`nix-command`] enabled. -See the [Building Nix](#building-nix) section for equivalent instructions using stable Nix interfaces. - -[`nix-command`]: @docroot@/contributing/experimental-features.md#xp-nix-command - To build all dependencies and start a shell in which all environment variables are set up so that those dependencies can be found: ```console @@ -105,7 +100,7 @@ nix (Nix) 2.12 To build a release version of Nix for the current operating system and CPU architecture: ```console -$ nix-build +$ nix build ``` You can also build Nix for one of the [supported platforms](#platforms). @@ -155,12 +150,6 @@ platform. Common solutions include [remote build machines] and [binary format em Given such a setup, executing the build only requires selecting the respective attribute. For example, to compile for `aarch64-linux`: -```console -$ nix-build --attr packages.aarch64-linux.default -``` - -or for Nix with the [`flakes`] and [`nix-command`] experimental features enabled: - ```console $ nix build .#packages.aarch64-linux.default ``` @@ -242,20 +231,12 @@ To build with one of those environments, you can use $ nix build .#nix-ccacheStdenv ``` -for flake-enabled Nix, or - -```console -$ nix-build --attr nix-ccacheStdenv -``` - -for classic Nix. - You can use any of the other supported environments in place of `nix-ccacheStdenv`. ## Editor integration The `clangd` LSP server is installed by default on the `clang`-based `devShell`s. -See [supported compilation environments](#compilation-environments) and instructions how to set up a shell [with flakes](#nix-with-flakes) or in [classic Nix](#classic-nix). +See [supported compilation environments](#compilation-environments) and instructions how to [set up a shell with flakes](#nix-with-flakes). To use the LSP with your editor, you first need to [set up `clangd`](https://clangd.llvm.org/installation#project-setup) by running: From 891a5b387e767d72c1679dfb0bc6a07d7eb89267 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 10 Jul 2024 17:18:09 +0200 Subject: [PATCH 3/6] Remove warning about nix-command --- src/nix/nix.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/nix/nix.md b/src/nix/nix.md index 2f59db3af..5ac00b940 100644 --- a/src/nix/nix.md +++ b/src/nix/nix.md @@ -48,11 +48,6 @@ manual](https://nixos.org/manual/nix/stable/). # Installables -> **Warning** \ -> Installables are part of the unstable -> [`nix-command` experimental feature](@docroot@/contributing/experimental-features.md#xp-feature-nix-command), -> and subject to change without notice. - Many `nix` subcommands operate on one or more *installables*. These are command line arguments that represent something that can be realised in the Nix store. @@ -68,11 +63,6 @@ That is, Nix will operate on the default flake output attribute of the flake in ### Flake output attribute -> **Warning** \ -> Flake output attribute installables depend on the -> [`nix-command`](@docroot@/contributing/experimental-features.md#xp-feature-nix-command) -> experimental feature, and subject to change without notice. - Example: `nixpkgs#hello` These have the form *flakeref*[`#`*attrpath*], where *flakeref* is a From e0ce16173432cc08aa65fc12e89a8d459b9d501d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 10 Jul 2024 18:45:00 +0200 Subject: [PATCH 4/6] Remove experimental warnings --- doc/manual/src/protocols/json/derivation.md | 6 ------ doc/manual/src/protocols/json/store-object-info.md | 6 ------ 2 files changed, 12 deletions(-) diff --git a/doc/manual/src/protocols/json/derivation.md b/doc/manual/src/protocols/json/derivation.md index f881dd703..6af7c0dfb 100644 --- a/doc/manual/src/protocols/json/derivation.md +++ b/doc/manual/src/protocols/json/derivation.md @@ -1,11 +1,5 @@ # Derivation JSON Format -> **Warning** -> -> This JSON format is currently -> [**experimental**](@docroot@/contributing/experimental-features.md#xp-feature-nix-command) -> and subject to change. - The JSON serialization of a [derivations](@docroot@/glossary.md#gloss-store-derivation) is a JSON object with the following fields: diff --git a/doc/manual/src/protocols/json/store-object-info.md b/doc/manual/src/protocols/json/store-object-info.md index 9f647a96c..fee415eef 100644 --- a/doc/manual/src/protocols/json/store-object-info.md +++ b/doc/manual/src/protocols/json/store-object-info.md @@ -1,11 +1,5 @@ # Store object info JSON format -> **Warning** -> -> This JSON format is currently -> [**experimental**](@docroot@/contributing/experimental-features.md#xp-feature-nix-command) -> and subject to change. - Info about a [store object]. * `path`: From 1b52a3add1d79633c2feb0ff206c096617962053 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 10 Jul 2024 18:45:23 +0200 Subject: [PATCH 5/6] Remove references to nix-command --- doc/manual/local.mk | 4 ++-- scripts/installer.nix | 2 +- src/libutil/config.hh | 2 +- tests/functional/ca/derivation-json.sh | 2 +- tests/functional/ca/selfref-gc.sh | 2 +- tests/functional/common/init.sh | 3 +-- tests/functional/common/vars-and-functions.sh | 2 +- tests/functional/config.sh | 2 +- tests/functional/config/nix-with-include.conf | 1 - .../config/nix-with-substituters.conf | 1 - tests/functional/dyn-drv/eval-outputOf.sh | 6 ++--- .../functional/dyn-drv/recursive-mod-json.nix | 2 +- tests/functional/experimental-features.sh | 24 +++++++++---------- tests/functional/impure-derivations.sh | 2 +- tests/functional/recursive.nix | 2 +- tests/functional/recursive.sh | 2 +- tests/installer/default.nix | 2 +- tests/nixos/authorization.nix | 2 -- tests/nixos/containers/containers.nix | 2 +- tests/nixos/fetch-git/testsupport/setup.nix | 1 - tests/nixos/git-submodules.nix | 1 - tests/nixos/github-flakes.nix | 1 - tests/nixos/nix-copy.nix | 1 - tests/nixos/sourcehut-flakes.nix | 1 - tests/nixos/tarball-flakes.nix | 1 - tests/repl-completion.nix | 4 ++-- 26 files changed, 32 insertions(+), 43 deletions(-) diff --git a/doc/manual/local.mk b/doc/manual/local.mk index 0cec52885..d4cba066b 100644 --- a/doc/manual/local.mk +++ b/doc/manual/local.mk @@ -35,7 +35,7 @@ dummy-env = env -i \ NIX_STATE_DIR=/dummy \ NIX_CONFIG='cores = 0' -nix-eval = $(dummy-env) $(doc_nix) eval --experimental-features nix-command -I nix=doc/manual --store dummy:// --impure --raw +nix-eval = $(dummy-env) $(doc_nix) eval -I nix=doc/manual --store dummy:// --impure --raw # re-implement mdBook's include directive to make it usable for terminal output and for proper @docroot@ substitution define process-includes @@ -121,7 +121,7 @@ $(d)/nix.json: $(doc_nix) @mv $@.tmp $@ $(d)/conf-file.json: $(doc_nix) - $(trace-gen) $(dummy-env) $(doc_nix) config show --json --experimental-features nix-command > $@.tmp + $(trace-gen) $(dummy-env) $(doc_nix) config show --json > $@.tmp @mv $@.tmp $@ $(d)/src/contributing/experimental-feature-descriptions.md: $(d)/xp-features.json $(d)/utils.nix $(d)/generate-xp-features.nix $(doc_nix) diff --git a/scripts/installer.nix b/scripts/installer.nix index cc7759c2c..3d51d4916 100644 --- a/scripts/installer.nix +++ b/scripts/installer.nix @@ -25,7 +25,7 @@ runCommand "installer-script" { (tarball: let inherit (tarball.stdenv.hostPlatform) system; in '' \ - --replace '@tarballHash_${system}@' $(nix --experimental-features nix-command hash-file --base16 --type sha256 ${tarball}/*.tar.xz) \ + --replace '@tarballHash_${system}@' $(nix hash-file --base16 --type sha256 ${tarball}/*.tar.xz) \ --replace '@tarballPath_${system}@' $(tarballPath ${tarball}/*.tar.xz) \ '' ) diff --git a/src/libutil/config.hh b/src/libutil/config.hh index a30d1b1ec..f1c7233ba 100644 --- a/src/libutil/config.hh +++ b/src/libutil/config.hh @@ -386,7 +386,7 @@ struct ExperimentalFeatureSettings : Config { Example: ``` - experimental-features = nix-command + experimental-features = ca-derivations ``` The following experimental features are available: diff --git a/tests/functional/ca/derivation-json.sh b/tests/functional/ca/derivation-json.sh index 1e2a8fe35..97f165732 100644 --- a/tests/functional/ca/derivation-json.sh +++ b/tests/functional/ca/derivation-json.sh @@ -19,7 +19,7 @@ drvPath3=$(nix derivation add --dry-run < "$TEST_HOME"/foo.json) [[ ! -e "$drvPath3" ]] # But the JSON is rejected without the experimental feature -expectStderr 1 nix derivation add < "$TEST_HOME"/foo.json --experimental-features nix-command | grepQuiet "experimental Nix feature 'ca-derivations' is disabled" +expectStderr 1 nix derivation add < "$TEST_HOME"/foo.json --experimental-features '' | grepQuiet "experimental Nix feature 'ca-derivations' is disabled" # Without --dry-run it is actually written drvPath4=$(nix derivation add < "$TEST_HOME"/foo.json) diff --git a/tests/functional/ca/selfref-gc.sh b/tests/functional/ca/selfref-gc.sh index 588515db5..a730bdab6 100755 --- a/tests/functional/ca/selfref-gc.sh +++ b/tests/functional/ca/selfref-gc.sh @@ -4,7 +4,7 @@ source common.sh requireDaemonNewerThan "2.4pre20210626" -enableFeatures "ca-derivations nix-command" +enableFeatures "ca-derivations" export NIX_TESTS_CA_BY_DEFAULT=1 cd .. diff --git a/tests/functional/common/init.sh b/tests/functional/common/init.sh index 482d62cc4..38b29d122 100755 --- a/tests/functional/common/init.sh +++ b/tests/functional/common/init.sh @@ -12,7 +12,6 @@ if isTestOnNixOS; then ! test -e "$test_nix_conf" cat > "$test_nix_conf_dir/nix.conf" < "$NIX_CONF_DIR"/nix.conf <"$TEST_ROOT"/stdout 2>"$TEST_ROOT"/stderr [[ $(cat "$TEST_ROOT/stdout") = '' ]] @@ -43,14 +43,14 @@ grepQuiet "error: could not find setting '$gatedSetting'" "$TEST_ROOT/stderr" # Experimental feature is disabled after, ignore and warn. NIX_CONFIG=" $gatedSetting = true - experimental-features = nix-command + experimental-features = " expect 1 nix config show $gatedSetting 1>"$TEST_ROOT"/stdout 2>"$TEST_ROOT"/stderr [[ $(cat "$TEST_ROOT/stdout") = '' ]] grepQuiet "error: could not find setting '$gatedSetting'" "$TEST_ROOT/stderr" # Experimental feature is enabled before, process. NIX_CONFIG=" - experimental-features = nix-command $xpFeature + experimental-features = $xpFeature $gatedSetting = true " nix config show $gatedSetting 1>"$TEST_ROOT"/stdout 2>"$TEST_ROOT"/stderr grepQuiet "true" "$TEST_ROOT/stdout" @@ -58,18 +58,18 @@ grepQuiet "true" "$TEST_ROOT/stdout" # Experimental feature is enabled after, process. NIX_CONFIG=" $gatedSetting = true - experimental-features = nix-command $xpFeature + experimental-features = $xpFeature " nix config show $gatedSetting 1>"$TEST_ROOT"/stdout 2>"$TEST_ROOT"/stderr grepQuiet "true" "$TEST_ROOT/stdout" grepQuietInverse "Ignoring setting '$gatedSetting'" "$TEST_ROOT/stderr" function exit_code_both_ways { - expect 1 nix --experimental-features 'nix-command ' "$@" 1>/dev/null - nix --experimental-features "nix-command $xpFeature" "$@" 1>/dev/null + expect 1 nix --experimental-features '' "$@" 1>/dev/null + nix --experimental-features "$xpFeature" "$@" 1>/dev/null # Also, the order should not matter - expect 1 nix "$@" --experimental-features 'nix-command' 1>/dev/null - nix "$@" --experimental-features "nix-command $xpFeature" 1>/dev/null + expect 1 nix "$@" --experimental-features '' 1>/dev/null + nix "$@" --experimental-features "$xpFeature" 1>/dev/null } exit_code_both_ways config show --auto-allocate-uids diff --git a/tests/functional/impure-derivations.sh b/tests/functional/impure-derivations.sh index 5dea220fe..69884c293 100755 --- a/tests/functional/impure-derivations.sh +++ b/tests/functional/impure-derivations.sh @@ -21,7 +21,7 @@ drvPath2=$(nix derivation add < $TEST_HOME/impure-drv.json) [[ "$drvPath" = "$drvPath2" ]] # But only with the experimental feature! -expectStderr 1 nix derivation add < $TEST_HOME/impure-drv.json --experimental-features nix-command | grepQuiet "experimental Nix feature 'impure-derivations' is disabled" +expectStderr 1 nix derivation add < $TEST_HOME/impure-drv.json --experimental-features '' | grepQuiet "experimental Nix feature 'impure-derivations' is disabled" nix build --dry-run --json --file ./impure-derivations.nix impure.all json=$(nix build -L --no-link --json --file ./impure-derivations.nix impure.all) diff --git a/tests/functional/recursive.nix b/tests/functional/recursive.nix index fa8cc04db..622049dca 100644 --- a/tests/functional/recursive.nix +++ b/tests/functional/recursive.nix @@ -14,7 +14,7 @@ mkDerivation rec { buildCommand = '' mkdir $out - opts="--experimental-features nix-command ${if (NIX_TESTS_CA_BY_DEFAULT == "1") then "--extra-experimental-features ca-derivations" else ""}" + opts="${if (NIX_TESTS_CA_BY_DEFAULT == "1") then "--extra-experimental-features ca-derivations" else ""}" PATH=${builtins.getEnv "NIX_BIN_DIR"}:$PATH diff --git a/tests/functional/recursive.sh b/tests/functional/recursive.sh index 640fb92d2..fb0aa6975 100755 --- a/tests/functional/recursive.sh +++ b/tests/functional/recursive.sh @@ -13,7 +13,7 @@ rm -f $TEST_ROOT/result export unreachable=$(nix store add-path ./recursive.sh) -NIX_BIN_DIR=$(dirname $(type -p nix)) nix --extra-experimental-features 'nix-command recursive-nix' build -o $TEST_ROOT/result -L --impure --file ./recursive.nix +NIX_BIN_DIR=$(dirname $(type -p nix)) nix --extra-experimental-features 'recursive-nix' build -o $TEST_ROOT/result -L --impure --file ./recursive.nix [[ $(cat $TEST_ROOT/result/inner1) =~ blaat ]] diff --git a/tests/installer/default.nix b/tests/installer/default.nix index 4aed6eae4..3b75c5e0f 100644 --- a/tests/installer/default.nix +++ b/tests/installer/default.nix @@ -224,7 +224,7 @@ let source /etc/bashrc || true nix-env --version - nix --extra-experimental-features nix-command store info + nix store info out=\$(nix-build --no-substitute -E 'derivation { name = "foo"; system = "x86_64-linux"; builder = "/bin/sh"; args = ["-c" "echo foobar > \$out"]; }') [[ \$(cat \$out) = foobar ]] diff --git a/tests/nixos/authorization.nix b/tests/nixos/authorization.nix index fdeae06ed..d80069e77 100644 --- a/tests/nixos/authorization.nix +++ b/tests/nixos/authorization.nix @@ -10,8 +10,6 @@ users.users.alice.isNormalUser = true; users.users.bob.isNormalUser = true; users.users.mallory.isNormalUser = true; - - nix.settings.experimental-features = "nix-command"; }; testScript = diff --git a/tests/nixos/containers/containers.nix b/tests/nixos/containers/containers.nix index 6773f5628..188012c9b 100644 --- a/tests/nixos/containers/containers.nix +++ b/tests/nixos/containers/containers.nix @@ -18,7 +18,7 @@ nix.settings.substituters = lib.mkForce [ ]; nix.extraOptions = '' - extra-experimental-features = nix-command auto-allocate-uids cgroups + extra-experimental-features = auto-allocate-uids cgroups extra-system-features = uid-range ''; nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; diff --git a/tests/nixos/fetch-git/testsupport/setup.nix b/tests/nixos/fetch-git/testsupport/setup.nix index a81d5614b..08195daa5 100644 --- a/tests/nixos/fetch-git/testsupport/setup.nix +++ b/tests/nixos/fetch-git/testsupport/setup.nix @@ -74,7 +74,6 @@ in environment.variables = { _NIX_FORCE_HTTP = "1"; }; - nix.settings.experimental-features = ["nix-command" "flakes"]; }; setupScript = '' ''; diff --git a/tests/nixos/git-submodules.nix b/tests/nixos/git-submodules.nix index 570b1822b..6bcb75b5e 100644 --- a/tests/nixos/git-submodules.nix +++ b/tests/nixos/git-submodules.nix @@ -20,7 +20,6 @@ { programs.ssh.extraConfig = "ConnectTimeout 30"; environment.systemPackages = [ pkgs.git ]; - nix.extraOptions = "experimental-features = nix-command flakes"; }; }; diff --git a/tests/nixos/github-flakes.nix b/tests/nixos/github-flakes.nix index 9a1ed749c..37ffa2b70 100644 --- a/tests/nixos/github-flakes.nix +++ b/tests/nixos/github-flakes.nix @@ -143,7 +143,6 @@ in virtualisation.additionalPaths = [ pkgs.hello pkgs.fuse ]; virtualisation.memorySize = 4096; nix.settings.substituters = lib.mkForce [ ]; - nix.extraOptions = "experimental-features = nix-command"; networking.hosts.${(builtins.head nodes.github.networking.interfaces.eth1.ipv4.addresses).address} = [ "channels.nixos.org" "api.github.com" "github.com" ]; security.pki.certificateFiles = [ "${cert}/ca.crt" ]; diff --git a/tests/nixos/nix-copy.nix b/tests/nixos/nix-copy.nix index 7db5197aa..cd0cca63b 100644 --- a/tests/nixos/nix-copy.nix +++ b/tests/nixos/nix-copy.nix @@ -23,7 +23,6 @@ in { { virtualisation.writableStore = true; virtualisation.additionalPaths = [ pkgA pkgD.drvPath ]; nix.settings.substituters = lib.mkForce [ ]; - nix.settings.experimental-features = [ "nix-command" ]; services.getty.autologinUser = "root"; programs.ssh.extraConfig = '' Host * diff --git a/tests/nixos/sourcehut-flakes.nix b/tests/nixos/sourcehut-flakes.nix index 4eeab42db..a1422ab96 100644 --- a/tests/nixos/sourcehut-flakes.nix +++ b/tests/nixos/sourcehut-flakes.nix @@ -104,7 +104,6 @@ in virtualisation.memorySize = 4096; nix.settings.substituters = lib.mkForce [ ]; nix.extraOptions = '' - experimental-features = nix-command flake-registry = https://git.sr.ht/~NixOS/flake-registry/blob/master/flake-registry.json ''; environment.systemPackages = [ pkgs.jq ]; diff --git a/tests/nixos/tarball-flakes.nix b/tests/nixos/tarball-flakes.nix index 2a21d8738..e0327cac5 100644 --- a/tests/nixos/tarball-flakes.nix +++ b/tests/nixos/tarball-flakes.nix @@ -51,7 +51,6 @@ in virtualisation.additionalPaths = [ pkgs.hello pkgs.fuse ]; virtualisation.memorySize = 4096; nix.settings.substituters = lib.mkForce [ ]; - nix.extraOptions = "experimental-features = nix-command"; }; }; diff --git a/tests/repl-completion.nix b/tests/repl-completion.nix index 3ba198a98..5cca0fc1c 100644 --- a/tests/repl-completion.nix +++ b/tests/repl-completion.nix @@ -10,7 +10,7 @@ runCommand "repl-completion" { ]; expectScript = '' # Regression https://github.com/NixOS/nix/pull/10778 - spawn nix repl --offline --extra-experimental-features nix-command + spawn nix repl --offline expect "nix-repl>" send "foo = import ./does-not-exist.nix\n" expect "nix-repl>" @@ -37,4 +37,4 @@ runCommand "repl-completion" { nix-store --init expect $expectScriptPath touch $out -'' \ No newline at end of file +'' From a00efcb36c1e76cf5c8defbaa75d1c2d97e08a6b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 11 Jul 2024 09:52:40 +0200 Subject: [PATCH 6/6] Fix daemon test --- tests/functional/common/vars-and-functions.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/functional/common/vars-and-functions.sh b/tests/functional/common/vars-and-functions.sh index a1f51dc88..e21a7ff0a 100644 --- a/tests/functional/common/vars-and-functions.sh +++ b/tests/functional/common/vars-and-functions.sh @@ -123,7 +123,8 @@ startDaemon() { fi # Start the daemon, wait for the socket to appear. rm -f $NIX_DAEMON_SOCKET_PATH - PATH=$DAEMON_PATH nix daemon & + # TODO: remove the nix-command feature when we're no longer testing against old daemons. + PATH=$DAEMON_PATH nix daemon --extra-experimental-features nix-command & _NIX_TEST_DAEMON_PID=$! export _NIX_TEST_DAEMON_PID for ((i = 0; i < 300; i++)); do