mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 02:36:16 +02:00
nix flake show
: Support meta
attribute for apps
Metadata information for flake apps will be useful while exploring a flake using `nix flake show`
This commit is contained in:
parent
2ed075ffc0
commit
a5f6ee8550
2 changed files with 12 additions and 3 deletions
|
@ -1251,8 +1251,7 @@ struct CmdFlakeShow : FlakeCommand, MixJSON
|
|||
}
|
||||
j.emplace("type", "derivation");
|
||||
j.emplace("name", name);
|
||||
if (description)
|
||||
j.emplace("description", *description);
|
||||
j.emplace("description", description ? *description : "");
|
||||
} else {
|
||||
logger->cout("%s: %s '%s'",
|
||||
headerPrefix,
|
||||
|
@ -1340,12 +1339,19 @@ struct CmdFlakeShow : FlakeCommand, MixJSON
|
|||
(attrPath.size() == 3 && attrPathS[0] == "apps"))
|
||||
{
|
||||
auto aType = visitor.maybeGetAttr("type");
|
||||
std::optional<std::string> description;
|
||||
if (auto aMeta = visitor.maybeGetAttr(state->sMeta)) {
|
||||
if (auto aDescription = aMeta->maybeGetAttr(state->sDescription))
|
||||
description = aDescription->getString();
|
||||
}
|
||||
if (!aType || aType->getString() != "app")
|
||||
state->error<EvalError>("not an app definition").debugThrow();
|
||||
if (json) {
|
||||
j.emplace("type", "app");
|
||||
if (description)
|
||||
j.emplace("description", *description);
|
||||
} else {
|
||||
logger->cout("%s: app", headerPrefix);
|
||||
logger->cout("%s: app: " ANSI_BOLD "%s" ANSI_NORMAL, headerPrefix, description ? *description : "no description");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -80,6 +80,7 @@ An app is specified by a flake output attribute named
|
|||
apps.x86_64-linux.blender_2_79 = {
|
||||
type = "app";
|
||||
program = "${self.packages.x86_64-linux.blender_2_79}/bin/blender";
|
||||
meta.description = "Run Blender, a free and open-source 3D creation suite.";
|
||||
};
|
||||
```
|
||||
|
||||
|
@ -90,4 +91,6 @@ The only supported attributes are:
|
|||
* `program` (required): The full path of the executable to run. It
|
||||
must reside in the Nix store.
|
||||
|
||||
* `meta.description` (optional): A description of the app.
|
||||
|
||||
)""
|
||||
|
|
Loading…
Reference in a new issue