aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/eval.hh')
-rw-r--r--src/libexpr/eval.hh92
1 files changed, 0 insertions, 92 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 46fa96d05..887b9cb97 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -787,98 +787,6 @@ struct InvalidPathError : EvalError
#endif
};
-struct EvalSettings : Config
-{
- EvalSettings();
-
- static Strings getDefaultNixPath();
-
- static bool isPseudoUrl(std::string_view s);
-
- static std::string resolvePseudoUrl(std::string_view url);
-
- Setting<bool> enableNativeCode{this, false, "allow-unsafe-native-code-during-evaluation",
- "Whether builtin functions that allow executing native code should be enabled."};
-
- Setting<Strings> nixPath{
- this, getDefaultNixPath(), "nix-path",
- R"(
- List of directories to be searched for `<...>` file references
-
- In particular, outside of [pure evaluation mode](#conf-pure-evaluation), this determines the value of
- [`builtins.nixPath`](@docroot@/language/builtin-constants.md#builtins-nixPath).
- )"};
-
- Setting<bool> restrictEval{
- this, false, "restrict-eval",
- R"(
- If set to `true`, the Nix evaluator will not allow access to any
- files outside of the Nix search path (as set via the `NIX_PATH`
- environment variable or the `-I` option), or to URIs outside of
- [`allowed-uris`](../command-ref/conf-file.md#conf-allowed-uris).
- The default is `false`.
- )"};
-
- Setting<bool> pureEval{this, false, "pure-eval",
- R"(
- Pure evaluation mode ensures that the result of Nix expressions is fully determined by explicitly declared inputs, and not influenced by external state:
-
- - Restrict file system and network access to files specified by cryptographic hash
- - Disable [`bultins.currentSystem`](@docroot@/language/builtin-constants.md#builtins-currentSystem) and [`builtins.currentTime`](@docroot@/language/builtin-constants.md#builtins-currentTime)
- )"
- };
-
- Setting<bool> enableImportFromDerivation{
- this, true, "allow-import-from-derivation",
- R"(
- By default, Nix allows you to `import` from a derivation, allowing
- building at evaluation time. With this option set to false, Nix will
- throw an error when evaluating an expression that uses this feature,
- allowing users to ensure their evaluation will not require any
- builds to take place.
- )"};
-
- Setting<Strings> allowedUris{this, {}, "allowed-uris",
- R"(
- A list of URI prefixes to which access is allowed in restricted
- evaluation mode. For example, when set to
- `https://github.com/NixOS`, builtin functions such as `fetchGit` are
- allowed to access `https://github.com/NixOS/patchelf.git`.
- )"};
-
- Setting<bool> traceFunctionCalls{this, false, "trace-function-calls",
- R"(
- If set to `true`, the Nix evaluator will trace every function call.
- Nix will print a log message at the "vomit" level for every function
- entrance and function exit.
-
- function-trace entered undefined position at 1565795816999559622
- function-trace exited undefined position at 1565795816999581277
- function-trace entered /nix/store/.../example.nix:226:41 at 1565795253249935150
- function-trace exited /nix/store/.../example.nix:226:41 at 1565795253249941684
-
- The `undefined position` means the function call is a builtin.
-
- Use the `contrib/stack-collapse.py` script distributed with the Nix
- source code to convert the trace logs in to a format suitable for
- `flamegraph.pl`.
- )"};
-
- Setting<bool> useEvalCache{this, true, "eval-cache",
- "Whether to use the flake evaluation cache."};
-
- Setting<bool> ignoreExceptionsDuringTry{this, false, "ignore-try",
- R"(
- If set to true, ignore exceptions inside 'tryEval' calls when evaluating nix expressions in
- debug mode (using the --debugger flag). By default the debugger will pause on all exceptions.
- )"};
-
- Setting<bool> traceVerbose{this, false, "trace-verbose",
- "Whether `builtins.traceVerbose` should trace its first argument when evaluated."};
-};
-
-extern EvalSettings evalSettings;
-
static const std::string corepkgsPrefix{"/__corepkgs__/"};
template<class ErrorType>