modules: Add mkSinkUndeclaredOptions.
This commit is contained in:
parent
f94580da69
commit
2f365923d6
@ -31,6 +31,23 @@ rec {
|
|||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# This option accept anything, but it does not produce any result. This
|
||||||
|
# is useful for sharing a module across different module sets without
|
||||||
|
# having to implement similar features as long as the value of the options
|
||||||
|
# are not expected.
|
||||||
|
mkSinkUndeclaredOptions = attrs: mkOption ({
|
||||||
|
internal = true;
|
||||||
|
visible = false;
|
||||||
|
default = false;
|
||||||
|
description = "Sink for option definitions.";
|
||||||
|
type = mkOptionType {
|
||||||
|
name = "sink";
|
||||||
|
check = x: true;
|
||||||
|
merge = loc: defs: false;
|
||||||
|
};
|
||||||
|
apply = x: throw "Option value is not readable because the option is not declared.";
|
||||||
|
} // attrs);
|
||||||
|
|
||||||
mergeDefaultOption = loc: defs:
|
mergeDefaultOption = loc: defs:
|
||||||
let list = getValues defs; in
|
let list = getValues defs; in
|
||||||
if length list == 1 then head list
|
if length list == 1 then head list
|
||||||
|
Loading…
Reference in New Issue
Block a user