diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-01 19:38:35 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-01 19:38:35 +0000 |
commit | 9357512d7379337c3636fa495ad7b4bbe3d8266d (patch) | |
tree | f15faf862e683e2c8987005ef4c11f3391433e44 /src/nix/repl.cc | |
parent | e3b394b6e8420795c1976195184921df2c2b3e83 (diff) | |
parent | a3f9625818ecb0c8a3c22c191340dac5a3120bb5 (diff) |
Merge remote-tracking branch 'upstream/master' into derivation-header-include-order
Diffstat (limited to 'src/nix/repl.cc')
-rw-r--r-- | src/nix/repl.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nix/repl.cc b/src/nix/repl.cc index ab8ae41e8..33ca1dbf7 100644 --- a/src/nix/repl.cc +++ b/src/nix/repl.cc @@ -490,7 +490,7 @@ bool NixRepl::processLine(string line) auto drv = state->store->readDerivation(drvPath); std::cout << std::endl << "this derivation produced the following outputs:" << std::endl; for (auto & i : drv.outputs) - std::cout << fmt(" %s -> %s\n", i.first, state->store->printStorePath(i.second.path)); + std::cout << fmt(" %s -> %s\n", i.first, state->store->printStorePath(i.second.path(*state->store, drv.name))); } } else if (command == ":i") { runProgram(settings.nixBinDir + "/nix-env", Strings{"-i", drvPathRaw}); @@ -764,7 +764,11 @@ struct CmdRepl : StoreCommand, MixEvalArgs CmdRepl() { - expectArgs("files", &files); + expectArgs({ + .label = "files", + .handler = {&files}, + .completer = completePath + }); } std::string description() override @@ -784,6 +788,7 @@ struct CmdRepl : StoreCommand, MixEvalArgs void run(ref<Store> store) override { + evalSettings.pureEval = false; auto repl = std::make_unique<NixRepl>(searchPath, openStore()); repl->autoArgs = getAutoArgs(*repl->state); repl->mainLoop(files); |