lib/types: Show sub options of freeform types

Previously if you set the freeform type to e.g. attrsOf (submodule ..),
those submodule options wouldn't be shown in the manual.
This commit is contained in:
Silvan Mosberger 2020-09-03 21:16:29 +02:00
parent c54a127b62
commit ea5ba6e13d
No known key found for this signature in database
GPG key ID: E8F1E9EAD284E17D

View file

@ -522,7 +522,12 @@ rec {
# would be used, and use of `<` and `>` would break the XML document.
# It shouldn't cause an issue since this is cosmetic for the manual.
args.name = "name";
}).options;
}).options // optionalAttrs (freeformType != null) {
# Expose the sub options of the freeform type. Note that the option
# discovery doesn't care about the attribute name used here, so this
# is just to avoid conflicts with potential options from the submodule
_freeformOptions = freeformType.getSubOptions prefix;
};
getSubModules = modules;
substSubModules = m: submoduleWith (attrs // {
modules = m;