diff options
author | Silvan Mosberger <contact@infinisil.com> | 2020-09-07 19:31:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-07 19:31:01 +0200 |
commit | f73b762aacbc4740432d88be11960d066e0087eb (patch) | |
tree | f92cd6ff60ed84f01fac53462a37a91a20e4e1ec /lib/types.nix | |
parent | 3c4335723cfbfb044a803eab0c89b836db8596e0 (diff) | |
parent | f320dbae41cf875ea669b2a8b6083bf2a54f70ce (diff) |
Merge pull request #97042 from Infinisil/freeform-option-docs
Show sub options of freeform types
Diffstat (limited to 'lib/types.nix')
-rw-r--r-- | lib/types.nix | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/types.nix b/lib/types.nix index 17e7a939fe3d3..951fad291cca5 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -427,7 +427,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; |