lib.options.optionAttrSetToDocList: add visible = "transparent"

Allows marking an option as invisible, without excluding its sub-options.

In practice, this is similar to `visible = true; internal = true;`,
however it is more explicit and less reliant on implementation details.
This commit is contained in:
Matt Sturgeon
2025-09-10 14:35:28 +01:00
parent 48ddbb29a1
commit 6c20442479
2 changed files with 20 additions and 2 deletions

View File

@@ -3232,6 +3232,10 @@ runTests {
type = lib.types.submodule submodule;
visible = "shallow";
};
transparent = lib.mkOption {
type = lib.types.submodule submodule;
visible = "transparent";
};
"true" = lib.mkOption {
type = lib.types.submodule submodule;
visible = true;
@@ -3268,6 +3272,18 @@ runTests {
visible = true;
internal = false;
};
transparent = {
visible = false;
internal = false;
};
"transparent.foo" = {
visible = true;
internal = false;
};
"transparent.<name>.bar" = {
visible = true;
internal = false;
};
"true" = {
visible = true;
internal = false;