1{ config, lib, ... }:
2let inherit (lib) types mkOption attrNames;
3in
4{
5 options = {
6 attrs = mkOption { type = types.attrsOf lib.types.int; };
7 result = mkOption { };
8 resultFoo = mkOption { };
9 resultFooBar = mkOption { };
10 resultFooFoo = mkOption { };
11 };
12 config = {
13 attrs.a = 1;
14 variants.foo.attrs.b = 1;
15 variants.bar.attrs.y = 1;
16 variants.foo.variants.bar.attrs.z = 1;
17 variants.foo.variants.foo.attrs.c = 3;
18 resultFoo = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.attrs);
19 resultFooBar = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.variants.bar.attrs);
20 resultFooFoo = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.variants.foo.attrs);
21 };
22}