From 2d45a62899d47c109a0b8ce4ca9d33265b8a1a37 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Fri, 20 Mar 2020 00:30:59 +0100 Subject: [PATCH] lib/types: Make submodules use the freeform type description Submodules that have a freeform type set behave as if that was the type of the option itself (for values that don't have an option). Since the submodules options are shown as separate entries in the manual, it makes sense to show the freeform type as the submodule type. --- lib/types.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/types.nix b/lib/types.nix index 6fd6de7e1fd9..1845b6ae339e 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -486,9 +486,15 @@ rec { else value ) defs; + freeformType = (evalModules { + inherit modules specialArgs; + args.name = "‹name›"; + })._module.freeformType; + in mkOptionType rec { name = "submodule"; + description = freeformType.description or name; check = x: isAttrs x || isFunction x || path.check x; merge = loc: defs: (evalModules {