about summary refs log tree commit diff
path: root/src/nix/installables.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix/installables.cc')
-rw-r--r--src/nix/installables.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/nix/installables.cc b/src/nix/installables.cc
index ff345c45d8dd..57580049f25f 100644
--- a/src/nix/installables.cc
+++ b/src/nix/installables.cc
@@ -228,7 +228,16 @@ PathSet InstallablesCommand::buildInstallables(ref<Store> store, bool dryRun)
     if (!dryRun)
         store->buildPaths(buildables);
 
-    return buildables;
+    PathSet outPaths;
+    for (auto & path : buildables)
+        if (isDerivation(path)) {
+            Derivation drv = store->derivationFromPath(path);
+            for (auto & output : drv.outputs)
+                outPaths.insert(output.second.path);
+        } else
+            outPaths.insert(path);
+
+    return outPaths;
 }
 
 ref<EvalState> InstallablesCommand::getEvalState()