forked from mirrors/nixpkgs
modules: Add visible = "shallow" to hide only sub-options
This commit is contained in:
parent
27644a82a9
commit
64dfd983df
|
@ -74,7 +74,7 @@ rec {
|
||||||
apply ? null,
|
apply ? null,
|
||||||
# Whether the option is for NixOS developers only.
|
# Whether the option is for NixOS developers only.
|
||||||
internal ? null,
|
internal ? null,
|
||||||
# Whether the option shows up in the manual.
|
# Whether the option shows up in the manual. Default: true. Use false to hide the option and any sub-options from submodules. Use "shallow" to hide only sub-options.
|
||||||
visible ? null,
|
visible ? null,
|
||||||
# Whether the option can be set only once
|
# Whether the option can be set only once
|
||||||
readOnly ? null,
|
readOnly ? null,
|
||||||
|
@ -180,7 +180,10 @@ rec {
|
||||||
description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description.");
|
description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description.");
|
||||||
declarations = filter (x: x != unknownModule) opt.declarations;
|
declarations = filter (x: x != unknownModule) opt.declarations;
|
||||||
internal = opt.internal or false;
|
internal = opt.internal or false;
|
||||||
visible = opt.visible or true;
|
visible =
|
||||||
|
if (opt?visible && opt.visible == "shallow")
|
||||||
|
then true
|
||||||
|
else opt.visible or true;
|
||||||
readOnly = opt.readOnly or false;
|
readOnly = opt.readOnly or false;
|
||||||
type = opt.type.description or null;
|
type = opt.type.description or null;
|
||||||
}
|
}
|
||||||
|
@ -192,8 +195,9 @@ rec {
|
||||||
subOptions =
|
subOptions =
|
||||||
let ss = opt.type.getSubOptions opt.loc;
|
let ss = opt.type.getSubOptions opt.loc;
|
||||||
in if ss != {} then optionAttrSetToDocList' opt.loc ss else [];
|
in if ss != {} then optionAttrSetToDocList' opt.loc ss else [];
|
||||||
|
subOptionsVisible = docOption.visible && opt.visible or null != "shallow";
|
||||||
in
|
in
|
||||||
[ docOption ] ++ optionals docOption.visible subOptions) (collect isOption options);
|
[ docOption ] ++ optionals subOptionsVisible subOptions) (collect isOption options);
|
||||||
|
|
||||||
|
|
||||||
/* This function recursively removes all derivation attributes from
|
/* This function recursively removes all derivation attributes from
|
||||||
|
|
Loading…
Reference in a new issue