summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/tests/modules/deferred-module.nix4
-rw-r--r--lib/tests/modules/define-settingsDict-a-is-b.nix3
-rw-r--r--lib/types.nix2
3 files changed, 5 insertions, 4 deletions
diff --git a/lib/tests/modules/deferred-module.nix b/lib/tests/modules/deferred-module.nix
index dc8072d4e6c..e963c5a845c 100644
--- a/lib/tests/modules/deferred-module.nix
+++ b/lib/tests/modules/deferred-module.nix
@@ -34,9 +34,7 @@ in
 
     {
       _file = "default-a-is-b.nix";
-      default = { config, ... }: {
-        settingsDict.a = config.settingsDict.b;
-      };
+      default = ./define-settingsDict-a-is-b.nix;
     }
 
     {
diff --git a/lib/tests/modules/define-settingsDict-a-is-b.nix b/lib/tests/modules/define-settingsDict-a-is-b.nix
new file mode 100644
index 00000000000..42363f45f78
--- /dev/null
+++ b/lib/tests/modules/define-settingsDict-a-is-b.nix
@@ -0,0 +1,3 @@
+{ config, ... }: {
+  settingsDict.a = config.settingsDict.b;
+}
diff --git a/lib/types.nix b/lib/types.nix
index 83882179d06..f5d13ea10d2 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -543,7 +543,7 @@ rec {
     deferredModule = mkOptionType {
       name = "deferredModule";
       description = "module";
-      check = t: isAttrs t || isFunction t;
+      check = x: isAttrs x || isFunction x || path.check x;
       merge = loc: defs: map (def: lib.setDefaultModuleLocation "${def.file}, via option ${showOption loc}" def.value) defs;
     };