aboutsummaryrefslogtreecommitdiff
path: root/src/nix
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix')
-rw-r--r--src/nix/app.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nix/app.cc b/src/nix/app.cc
index 803d028f0..a43566496 100644
--- a/src/nix/app.cc
+++ b/src/nix/app.cc
@@ -65,6 +65,15 @@ UnresolvedApp Installable::toApp(EvalState & state)
auto type = cursor->getAttr("type")->getString();
+ std::string expected;
+ if (hasPrefix(attrPath,"apps.")) {
+ expected = "app";
+ } else {
+ expected = "derivation";
+ }
+ if (type != expected) {
+ throw Error("Attribute '%s' should have type '%s'.", attrPath, expected);
+ }
if (type == "app") {
auto [program, context] = cursor->getAttr("program")->getStringWithContext();