24 lines
531 B
Nix
24 lines
531 B
Nix
{ lib, options, ... }:
|
|
with lib.types;
|
|
{
|
|
|
|
options.fooDeclarations = lib.mkOption {
|
|
default = (options.free.type.getSubOptions [ ])._freeformOptions.foo.declarations;
|
|
};
|
|
|
|
options.free = lib.mkOption {
|
|
type = submodule {
|
|
config._module.freeformType = lib.mkMerge [
|
|
(attrsOf (submodule {
|
|
options.foo = lib.mkOption { };
|
|
}))
|
|
(attrsOf (submodule {
|
|
options.bar = lib.mkOption { };
|
|
}))
|
|
];
|
|
};
|
|
};
|
|
|
|
config.free.xxx.foo = 10;
|
|
config.free.yyy.bar = 10;
|
|
}
|