summary refs log tree commit diff
path: root/lib/tests/modules
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2023-07-25 01:53:30 +0200
committersternenseemann <sternenseemann@systemli.org>2023-07-26 23:58:04 +0200
commit9c35f44999b38f07b674ff25cde17452ab4a1969 (patch)
treefbe8576b5fd723e2993e755e6cc820b0875c7f62 /lib/tests/modules
parent8ef139fe5251dd94b2464e8a21388deadd75aef6 (diff)
downloadnixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.tar
nixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.tar.gz
nixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.tar.bz2
nixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.tar.lz
nixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.tar.xz
nixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.tar.zst
nixpkgs-9c35f44999b38f07b674ff25cde17452ab4a1969.zip
lib/modules: handle typeless options in mergeModules
mkOption does not require a `type` argument and does not set the
resulting attribute if it is not given. Consequently, we need to be
prepared to merge options that have no type information.
Diffstat (limited to 'lib/tests/modules')
-rw-r--r--lib/tests/modules/merge-typeless-option.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/tests/modules/merge-typeless-option.nix b/lib/tests/modules/merge-typeless-option.nix
new file mode 100644
index 00000000000..627d90b15db
--- /dev/null
+++ b/lib/tests/modules/merge-typeless-option.nix
@@ -0,0 +1,25 @@
+{ lib, ... }:
+
+let
+  typeless =
+    { lib, ... }:
+
+    {
+      options.group = lib.mkOption { };
+    };
+  childOfTypeless =
+    { lib, ... }:
+
+    {
+      options.group.enable = lib.mkEnableOption "nothing";
+    };
+in
+
+{
+  imports = [
+    typeless
+    childOfTypeless
+  ];
+
+  config.group.enable = false;
+}