aboutsummaryrefslogtreecommitdiff
path: root/src/nix/installables.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-11-29 19:18:36 +0100
committerEelco Dolstra <edolstra@gmail.com>2019-02-11 12:00:13 +0100
commit7a5cf31060289de61370643937277b5d0d5d178c (patch)
tree9b5b2060a0f9b65d3cfae2ad826015a9ba1d77a8 /src/nix/installables.cc
parentf216c76c56cdffb5214d074a7d44812843dd174f (diff)
Initial flake support
Diffstat (limited to 'src/nix/installables.cc')
-rw-r--r--src/nix/installables.cc39
1 files changed, 2 insertions, 37 deletions
diff --git a/src/nix/installables.cc b/src/nix/installables.cc
index 0c1ad3ab3..9b7b96c25 100644
--- a/src/nix/installables.cc
+++ b/src/nix/installables.cc
@@ -26,47 +26,12 @@ Value * SourceExprCommand::getSourceExpr(EvalState & state)
{
if (vSourceExpr) return vSourceExpr;
- auto sToplevel = state.symbols.create("_toplevel");
-
vSourceExpr = state.allocValue();
if (file != "")
state.evalFile(lookupFileArg(state, file), *vSourceExpr);
-
- else {
-
- /* Construct the installation source from $NIX_PATH. */
-
- auto searchPath = state.getSearchPath();
-
- state.mkAttrs(*vSourceExpr, searchPath.size() + 1);
-
- mkBool(*state.allocAttr(*vSourceExpr, sToplevel), true);
-
- std::unordered_set<std::string> seen;
-
- for (auto & i : searchPath) {
- if (i.first == "") continue;
- if (seen.count(i.first)) continue;
- seen.insert(i.first);
-#if 0
- auto res = state.resolveSearchPathElem(i);
- if (!res.first) continue;
- if (!pathExists(res.second)) continue;
- mkApp(*state.allocAttr(*vSourceExpr, state.symbols.create(i.first)),
- state.getBuiltin("import"),
- mkString(*state.allocValue(), res.second));
-#endif
- Value * v1 = state.allocValue();
- mkPrimOpApp(*v1, state.getBuiltin("findFile"), state.getBuiltin("nixPath"));
- Value * v2 = state.allocValue();
- mkApp(*v2, *v1, mkString(*state.allocValue(), i.first));
- mkApp(*state.allocAttr(*vSourceExpr, state.symbols.create(i.first)),
- state.getBuiltin("import"), *v2);
- }
-
- vSourceExpr->attrs->sort();
- }
+ else
+ state.evalFile(lookupFileArg(state, "<nix/default-installation-source.nix>"), *vSourceExpr);
return vSourceExpr;
}