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