diff options
author | Silvan Mosberger <contact@infinisil.com> | 2020-08-18 00:12:36 +0200 |
---|---|---|
committer | Silvan Mosberger <contact@infinisil.com> | 2020-08-18 00:12:36 +0200 |
commit | d5700d626ceef8ba509f822ee6e3b0a41a5da89f (patch) | |
tree | 1fe45783e279055830046f02e01739ecf230efa7 /lib | |
parent | 1e3f09feaa5667be4ed6eca96a984b4642420b83 (diff) | |
download | nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.tar nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.tar.gz nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.tar.bz2 nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.tar.lz nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.tar.xz nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.tar.zst nixpkgs-d5700d626ceef8ba509f822ee6e3b0a41a5da89f.zip |
lib/modules: Fix nonexistant option error
The refactoring in https://github.com/NixOS/nixpkgs/commit/fd75dc876586bde8cdb683a6952a41132e8db166 introduced a mistake in the error message that doesn't show the full context anymore. E.g. with this module: options.foo.bar = lib.mkOption { type = lib.types.submodule { baz = 10; }; default = {}; }; You'd get the error The option `baz' defined in `/home/infinisil/src/nixpkgs/config.nix' does not exist. instead of the previous The option `foo.bar.baz' defined in `/home/infinisil/src/nixpkgs/config.nix' does not exist. This commit undoes this regression
Diffstat (limited to 'lib')
-rw-r--r-- | lib/modules.nix | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/modules.nix b/lib/modules.nix index 55a53b3909a..9c308d347cf 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -115,8 +115,8 @@ rec { checkUnmatched = if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then - let inherit (head merged.unmatchedDefns) file prefix; - in throw "The option `${showOption prefix}' defined in `${file}' does not exist." + let firstDef = head merged.unmatchedDefns; + in throw "The option `${showOption (prefix ++ firstDef.prefix)}' defined in `${firstDef.file}' does not exist." else null; result = builtins.seq checkUnmatched { |