core/lib/tests/modules/functionTo/merging-attrs.nix
2024-06-30 09:12:46 +01:00

29 lines
532 B
Nix

{ lib, config, ... }:
let
inherit (lib) types;
in
{
options = {
fun = lib.mkOption { type = types.functionTo (types.attrsOf types.str); };
result = lib.mkOption {
type = types.str;
default = toString (
lib.attrValues (
config.fun {
a = "a";
b = "b";
c = "c";
}
)
);
};
};
config.fun = lib.mkMerge [
(input: { inherit (input) a; })
(input: { inherit (input) b; })
(input: { b = lib.mkForce input.c; })
];
}