summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-05-19 16:31:47 +0200
committerRobert Hensing <robert@roberthensing.nl>2022-06-14 23:01:26 +0200
commit781c2e0789f7f6b75454a8e986c675ad36e6ee36 (patch)
tree09c6a6e0ae427c43465838466bf2eec287a69856 /lib
parenta2c29561e722e9546c61323a91f9faffcc3bf268 (diff)
downloadnixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.tar
nixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.tar.gz
nixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.tar.bz2
nixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.tar.lz
nixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.tar.xz
nixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.tar.zst
nixpkgs-781c2e0789f7f6b75454a8e986c675ad36e6ee36.zip
lib.types.deferredModule: Allow path-typed module references
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;
     };