tvl-depot/users/sterni/nix/misc/default.nix
sterni ae422c1353 feat(sterni/nix/misc): predicate to check if isRestrictedEval
This is merely a little demonstration of nix#6579:
`users.sterni.nix.misc.isRestrictEval` returns whether the restrict-eval
setting is true or false by exploiting the aforementioned Nix bug.

Change-Id: Icca354d1cd6571cdf0804abae27aac91a18cda1e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5692
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-06-01 10:30:37 +00:00

18 lines
471 B
Nix

{ ... }:
let
/* Returns true if it is being evaluated using restrict-eval, false if not.
It's more robust than using `builtins.getEnv` since it isn't fooled by
`env -i`.
See https://github.com/NixOS/nix/issues/6579 for a description of the
behavior. Precise cause in the evaluator / store implementation is unclear.
Type: bool
*/
inRestrictedEval = builtins.pathExists (toString ./guinea-pig + "/.");
in
{
inherit inRestrictedEval;
}