aboutsummaryrefslogtreecommitdiff
path: root/src/nix/main.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-02-12 20:35:03 +0100
committerEelco Dolstra <edolstra@gmail.com>2019-02-12 20:35:03 +0100
commitba05f29838b3bafe28c3ea491be711229298cb1b (patch)
tree62f181d6f6df5c475a7e6030f80f6913d2881327 /src/nix/main.cc
parent91a6a47b0e98f4114c263ef32895e749639c50ad (diff)
nix: Enable pure mode by default
We want to encourage a brave new world of hermetic evaluation for source-level reproducibility, so flakes should not poke around in the filesystem outside of their explicit dependencies. Note that the default installation source remains impure in that it can refer to mutable flakes, so "nix build nixpkgs.hello" still works (and fetches the latest nixpkgs, unless it has been pinned by the user). A problem with pure evaluation is that builtins.currentSystem is unavailable. For the moment, I've hard-coded "x86_64-linux" in the nixpkgs flake. Eventually, "system" should be a flake function argument.
Diffstat (limited to 'src/nix/main.cc')
-rw-r--r--src/nix/main.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nix/main.cc b/src/nix/main.cc
index 4b909736d..01b0866f2 100644
--- a/src/nix/main.cc
+++ b/src/nix/main.cc
@@ -97,6 +97,7 @@ void mainWrapped(int argc, char * * argv)
verbosity = lvlError;
settings.verboseBuild = false;
+ evalSettings.pureEval = true;
NixArgs args;