aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-11-20 18:27:29 +0100
committerEelco Dolstra <edolstra@gmail.com>2017-11-20 18:27:29 +0100
commitf5f29dc2b7c266875fb9cbb0c8d5cdde3ac4a73c (patch)
treefbccbb83113986cfa704689435833ac252781f1a
parent1ff01187e230ddab210b173335e82f286626b16e (diff)
nix eval --raw: Use coerceToString()
Thus, $ nix eval --raw '("foo")' foo $ nix eval --raw nixpkgs.hello /nix/store/1y6ckg6khrdsvll54s5spcmf3w6ka9k4-hello-2.10 $ nix eval --raw '(/etc/resolv.conf)' /nix/store/vml92ama92i8mz013nny461mlvg8mvap-resolv.conf
-rw-r--r--src/nix/eval.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nix/eval.cc b/src/nix/eval.cc
index e22128692..0fbeca1c1 100644
--- a/src/nix/eval.cc
+++ b/src/nix/eval.cc
@@ -42,6 +42,10 @@ struct CmdEval : MixJSON, InstallablesCommand
"To get the current version of Nixpkgs:",
"nix eval --raw nixpkgs.lib.nixpkgsVersion"
},
+ Example{
+ "To print the store path of the Hello package:",
+ "nix eval --raw nixpkgs.hello"
+ },
};
}
@@ -56,10 +60,10 @@ struct CmdEval : MixJSON, InstallablesCommand
for (auto & i : installables) {
auto v = i->toValue(*state);
+ PathSet context;
if (raw) {
- std::cout << state->forceString(*v);
+ std::cout << state->coerceToString(noPos, *v, context);
} else if (json) {
- PathSet context;
auto jsonElem = jsonOut->placeholder();
printValueAsJSON(*state, true, *v, jsonElem, context);
} else {