summary refs log tree commit diff
path: root/lib/modules.nix
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/modules.nix
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/modules.nix')
-rw-r--r--lib/modules.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/modules.nix b/lib/modules.nix
index 0bedd28e877..8a145b8f11f 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -624,7 +624,7 @@ let
               unmatchedDefns = [];
             }
           else if optionDecls != [] then
-              if all (x: x.options.type.name == "submodule") optionDecls
+              if all (x: x.options.type.name or null == "submodule") optionDecls
               # Raw options can only be merged into submodules. Merging into
               # attrsets might be nice, but ambiguous. Suppose we have
               # attrset as a `attrsOf submodule`. User declares option