about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/nix-env/main.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nix-env/main.cc b/src/nix-env/main.cc
index 51bf7ffc3bb0..ed00fc206d97 100644
--- a/src/nix-env/main.cc
+++ b/src/nix-env/main.cc
@@ -89,6 +89,8 @@ bool parseDerivations(EvalState & state, Expr e, DrvInfos & drvs)
             debug(format("evaluating attribute `%1%'") % *i);
             if (parseDerivation(state, drvMap.get(*i), drv))
                 drvs[drv.drvPath] = drv;
+            else
+                parseDerivations(state, drvMap.get(*i), drvs);
         }
     }
 
@@ -97,6 +99,8 @@ bool parseDerivations(EvalState & state, Expr e, DrvInfos & drvs)
             debug(format("evaluating list element"));
             if (parseDerivation(state, *i, drv))
                 drvs[drv.drvPath] = drv;
+            else
+                parseDerivations(state, *i, drvs);
         }
     }