diff options
author | Robert Hensing <robert@roberthensing.nl> | 2020-02-24 00:15:36 +0100 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2020-02-24 00:15:36 +0100 |
commit | 9c0ab2f26db26c21950e5c61fb06570cb4c5c79a (patch) | |
tree | 763ffa6fe19125c4878f8def2b61d244483d9ea9 | |
parent | a9b0ccd68e7ac9ad301c2e3d86dbdd70604ebd0e (diff) |
lib/modules.nix: Add file context to unmerged values in mergeDefinitions
This helps with troubleshooting exceptions in config values, which were hard to track down for options with many definitions. The trace will look like: error: while evaluating the attribute 'config.foo' at undefined position: [...] while evaluating the option `foo': [...] while evaluating definitions from `/home/user/mymod.nix': while evaluating 'dischargeProperties' at /home/user/nixpkgs/lib/modules.nix:464:25, called from /home/user/nixpkgs/lib/modules.nix:392:137: while evaluating the attribute 'value' at /home/user/nixpkgs/lib/modules.nix:277:44: Value error! where the `/home/user/mymod.nix` module is { lib, ... }: { options.foo = lib.mkOption { type = lib.types.lines; }; config.foo = builtins.throw "Value error!"; }
-rw-r--r-- | lib/modules.nix | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/modules.nix b/lib/modules.nix index 2b1faf4f0c28e..6cbef5632bd72 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -389,7 +389,7 @@ rec { let # Process mkMerge and mkIf properties. defs' = concatMap (m: - map (value: { inherit (m) file; inherit value; }) (dischargeProperties m.value) + map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) ) defs; # Process mkOverride properties. |