vuls: init at 0.27.0
[NixPkgs.git] / lib / tests / modules / define-variant.nix
blob423cb0e37cb5f9286bc1e2e0468f27a94bf9563b
1 { config, lib, ... }:
2 let inherit (lib) types mkOption attrNames;
3 in
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   };