mirror of
https://github.com/NixOS/nix
synced 2025-06-25 06:31:14 +02:00
* nix-env -q now has a flag --prebuilt-only (-b<) that causes nix-env
to show only those derivations whose output is already in the Nix store or that can be substituted (i.e., downloaded from somewhere). In other words, it shows the packages that can be installed “quickly”, i.e., don’t need to be built from source.
This commit is contained in:
parent
5dc05b76ab
commit
b7f0f65c19
3 changed files with 25 additions and 6 deletions
|
@ -831,6 +831,7 @@ static void opQuery(Globals & globals,
|
|||
bool printDrvPath = false;
|
||||
bool printOutPath = false;
|
||||
bool printDescription = false;
|
||||
bool prebuiltOnly = false;
|
||||
bool compareVersions = false;
|
||||
bool xmlOutput = false;
|
||||
|
||||
|
@ -849,6 +850,7 @@ static void opQuery(Globals & globals,
|
|||
else if (*i == "--out-path") printOutPath = true;
|
||||
else if (*i == "--installed") source = sInstalled;
|
||||
else if (*i == "--available" || *i == "-a") source = sAvailable;
|
||||
else if (*i == "--prebuilt-only" || *i == "-b") prebuiltOnly = true;
|
||||
else if (*i == "--xml") xmlOutput = true;
|
||||
else throw UsageError(format("unknown flag `%1%'") % *i);
|
||||
|
||||
|
@ -914,6 +916,12 @@ static void opQuery(Globals & globals,
|
|||
|
||||
/* For XML output. */
|
||||
XMLAttrs attrs;
|
||||
|
||||
if (prebuiltOnly) {
|
||||
if (!store->isValidPath(i->queryOutPath(globals.state)) &&
|
||||
!store->hasSubstitutes(i->queryOutPath(globals.state)))
|
||||
continue;
|
||||
}
|
||||
|
||||
if (printStatus) {
|
||||
bool hasSubs = store->hasSubstitutes(i->queryOutPath(globals.state));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue