aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-03-07 03:20:21 +0100
committerjade <lix@jade.fyi>2024-03-07 01:22:25 -0700
commitf2c32738ad0862bc6b1cf8d87fa7855ccf763ced (patch)
treedc48be89c35aad68cacf7bec6ac47536a4fc2105 /src
parent2020998cfd0474cc8068040a2aac1a7943d5de9b (diff)
Print derivation paths
Also be more consistent with quotes around attribute paths (cherry picked from commit 9404ce36e4edd1df12892089bdab1ceb7d4d7a97) Change-Id: Iaa80073b4a07a6ffef106a3c12ecd02b4f6f67aa
Diffstat (limited to 'src')
-rw-r--r--src/nix/flake.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/nix/flake.cc b/src/nix/flake.cc
index cbbd586ec..69e531681 100644
--- a/src/nix/flake.cc
+++ b/src/nix/flake.cc
@@ -359,8 +359,16 @@ struct CmdFlakeCheck : FlakeCommand
auto drvInfo = getDerivation(*state, v, false);
if (!drvInfo)
throw Error("flake attribute '%s' is not a derivation", attrPath);
- // FIXME: check meta attributes
- return drvInfo->queryDrvPath();
+ else {
+ // FIXME: check meta attributes
+ auto storePath = drvInfo->queryDrvPath();
+ if (storePath) {
+ logger->log(lvlInfo,
+ fmt("derivation evaluated to %s",
+ store->printStorePath(storePath.value())));
+ }
+ return storePath;
+ }
} catch (Error & e) {
e.addTrace(resolve(pos), hintfmt("while checking the derivation '%s'", attrPath));
reportError(e);
@@ -389,7 +397,7 @@ struct CmdFlakeCheck : FlakeCommand
auto checkOverlay = [&](const std::string & attrPath, Value & v, const PosIdx pos) {
try {
Activity act(*logger, lvlInfo, actUnknown,
- fmt("checking overlay %s", attrPath));
+ fmt("checking overlay '%s'", attrPath));
state->forceValue(v, pos);
if (!v.isLambda()) {
throw Error("overlay is not a function, but %s instead", showType(v));
@@ -413,7 +421,7 @@ struct CmdFlakeCheck : FlakeCommand
auto checkModule = [&](const std::string & attrPath, Value & v, const PosIdx pos) {
try {
Activity act(*logger, lvlInfo, actUnknown,
- fmt("checking NixOS module %s", attrPath));
+ fmt("checking NixOS module '%s'", attrPath));
state->forceValue(v, pos);
} catch (Error & e) {
e.addTrace(resolve(pos), hintfmt("while checking the NixOS module '%s'", attrPath));
@@ -426,7 +434,7 @@ struct CmdFlakeCheck : FlakeCommand
checkHydraJobs = [&](const std::string & attrPath, Value & v, const PosIdx pos) {
try {
Activity act(*logger, lvlInfo, actUnknown,
- fmt("checking Hydra job %s", attrPath));
+ fmt("checking Hydra job '%s'", attrPath));
state->forceAttrs(v, pos, "");
if (state->isDerivation(v))
@@ -501,7 +509,7 @@ struct CmdFlakeCheck : FlakeCommand
auto checkBundler = [&](const std::string & attrPath, Value & v, const PosIdx pos) {
try {
Activity act(*logger, lvlInfo, actUnknown,
- fmt("checking bundler %s", attrPath));
+ fmt("checking bundler '%s'", attrPath));
state->forceValue(v, pos);
if (!v.isLambda())
throw Error("bundler must be a function");