aboutsummaryrefslogtreecommitdiff
path: root/tests/modules/define-variant.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tests/modules/define-variant.nix')
-rw-r--r--tests/modules/define-variant.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/modules/define-variant.nix b/tests/modules/define-variant.nix
new file mode 100644
index 000000000..423cb0e37
--- /dev/null
+++ b/tests/modules/define-variant.nix
@@ -0,0 +1,22 @@
+{ config, lib, ... }:
+let inherit (lib) types mkOption attrNames;
+in
+{
+ options = {
+ attrs = mkOption { type = types.attrsOf lib.types.int; };
+ result = mkOption { };
+ resultFoo = mkOption { };
+ resultFooBar = mkOption { };
+ resultFooFoo = mkOption { };
+ };
+ config = {
+ attrs.a = 1;
+ variants.foo.attrs.b = 1;
+ variants.bar.attrs.y = 1;
+ variants.foo.variants.bar.attrs.z = 1;
+ variants.foo.variants.foo.attrs.c = 3;
+ resultFoo = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.attrs);
+ resultFooBar = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.variants.bar.attrs);
+ resultFooFoo = lib.concatMapStringsSep " " toString (attrNames config.variants.foo.variants.foo.attrs);
+ };
+}