--version: Print some config info

Such as whether Nix is built with signed binary cache support, and the
location of the configuration file.
This commit is contained in:
Eelco Dolstra 2015-07-23 14:19:49 +02:00
parent 1993b10d11
commit 887bb5fa5a
3 changed files with 28 additions and 2 deletions

View file

@ -243,6 +243,20 @@ void parseCmdLine(int argc, char * * argv,
void printVersion(const string & programName)
{
std::cout << format("%1% (Nix) %2%") % programName % nixVersion << std::endl;
if (verbosity > lvlInfo) {
Strings cfg;
#if HAVE_BOEHMGC
cfg.push_back("gc");
#endif
#if HAVE_SODIUM
cfg.push_back("signed-caches");
#endif
std::cout << "Features: " << concatStringsSep(", ", cfg) << "\n";
std::cout << "Configuration file: " << settings.nixConfDir + "/nix.conf" << "\n";
std::cout << "Store directory: " << settings.nixStore << "\n";
std::cout << "State directory: " << settings.nixStateDir << "\n";
std::cout << "Database directory: " << settings.nixDBPath << "\n";
}
throw Exit();
}

View file

@ -1282,6 +1282,12 @@ static void opDeleteGenerations(Globals & globals, Strings opFlags, Strings opAr
}
static void opVersion(Globals & globals, Strings opFlags, Strings opArgs)
{
printVersion("nix-env");
}
int main(int argc, char * * argv)
{
return handleExceptions(argv[0], [&]() {
@ -1311,7 +1317,7 @@ int main(int argc, char * * argv)
if (*arg == "--help")
showManPage("nix-env");
else if (*arg == "--version")
printVersion("nix-env");
op = opVersion;
else if (*arg == "--install" || *arg == "-i")
op = opInstall;
else if (parseAutoArgs(arg, end, autoArgs_))

View file

@ -1027,6 +1027,12 @@ static void opGenerateBinaryCacheKey(Strings opFlags, Strings opArgs)
}
static void opVersion(Strings opFlags, Strings opArgs)
{
printVersion("nix-store");
}
/* Scan the arguments; find the operation, set global flags, put all
other flags in a list, and put all other arguments in another
list. */
@ -1044,7 +1050,7 @@ int main(int argc, char * * argv)
if (*arg == "--help")
showManPage("nix-store");
else if (*arg == "--version")
printVersion("nix-store");
op = opVersion;
else if (*arg == "--realise" || *arg == "--realize" || *arg == "-r")
op = opRealise;
else if (*arg == "--add" || *arg == "-A")