at 24.11-pre 528 B view raw
1{ lib, options, ... }: with lib.types; { 2 3 options.fooDeclarations = lib.mkOption { 4 default = (options.free.type.getSubOptions [])._freeformOptions.foo.declarations; 5 }; 6 7 options.free = lib.mkOption { 8 type = submodule { 9 config._module.freeformType = lib.mkMerge [ 10 (attrsOf (submodule { 11 options.foo = lib.mkOption {}; 12 })) 13 (attrsOf (submodule { 14 options.bar = lib.mkOption {}; 15 })) 16 ]; 17 }; 18 }; 19 20 config.free.xxx.foo = 10; 21 config.free.yyy.bar = 10; 22}