From 0d14c2b67a407825e3427bf079b31de069d9653a Mon Sep 17 00:00:00 2001 From: Justin ! Date: Thu, 16 Jan 2025 22:46:33 -0500 Subject: [PATCH] libmain: always print all information when calling `nix --version` This commit remove a check for the log level in the `printVersion()` function that was making `nix --version` behaving weirdly and inconsistently compared to other `nix-*` commands. The root cause is the following code in `lix/nix/main.cc` that change the log level at runtime if nix is call interactively: ```cpp if (isatty(STDERR_FILENO)) { verbosity = lvlNotice; } else { verbosity = lvlInfo; } ``` This should be removed, but since it has more implication it's gonna be done in another CL. Fix: https://git.lix.systems/lix-project/lix/issues/620 Change-Id: Id2c83c51d7ef799ee2f9b8dbdd2bfaeaf2df6188 --- lix/libmain/shared.cc | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lix/libmain/shared.cc b/lix/libmain/shared.cc index 2d1728dce..bbe3fb453 100644 --- a/lix/libmain/shared.cc +++ b/lix/libmain/shared.cc @@ -270,23 +270,21 @@ bool LegacyArgs::processArgs(const Strings & args, bool finish) void printVersion(const std::string & programName) { std::cout << fmt("%1% (Lix, like Nix) %2%", programName, nixVersion) << std::endl; - if (verbosity > lvlNotice) { - Strings cfg; + Strings cfg; #if HAVE_BOEHMGC - cfg.push_back("gc"); + cfg.push_back("gc"); #endif - cfg.push_back("signed-caches"); - std::cout << "System type: " << settings.thisSystem << "\n"; - std::cout << "Additional system types: " << concatStringsSep(", ", settings.extraPlatforms.get()) << "\n"; - std::cout << "Features: " << concatStringsSep(", ", cfg) << "\n"; - std::cout << "System configuration file: " << settings.nixConfDir + "/nix.conf" << "\n"; - std::cout << "User configuration files: " << - concatStringsSep(":", settings.nixUserConfFiles) - << "\n"; - std::cout << "Store directory: " << settings.nixStore << "\n"; - std::cout << "State directory: " << settings.nixStateDir << "\n"; - std::cout << "Data directory: " << settings.nixDataDir << "\n"; - } + cfg.push_back("signed-caches"); + std::cout << "System type: " << settings.thisSystem << "\n"; + std::cout << "Additional system types: " << concatStringsSep(", ", settings.extraPlatforms.get()) << "\n"; + std::cout << "Features: " << concatStringsSep(", ", cfg) << "\n"; + std::cout << "System configuration file: " << settings.nixConfDir + "/nix.conf" << "\n"; + std::cout << "User configuration files: " << + concatStringsSep(":", settings.nixUserConfFiles) + << "\n"; + std::cout << "Store directory: " << settings.nixStore << "\n"; + std::cout << "State directory: " << settings.nixStateDir << "\n"; + std::cout << "Data directory: " << settings.nixDataDir << "\n"; throw Exit(); }