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