Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.3 kB · 69 lines
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970{ lib, config, options, ...}:let inherit (lib) types;in{ imports = [
# fun.<function-body>.a ( { ... }: { options = { fun = lib.mkOption { type = types.functionTo ( types.submodule { options.a = lib.mkOption { default = "a"; }; } ); }; }; } )
# fun.<function-body>.b ( { ... }: { options = { fun = lib.mkOption { type = types.functionTo ( types.submodule { options.b = lib.mkOption { default = "b"; }; } ); }; }; } ) ];
options = { result = lib.mkOption { type = types.str; default = lib.concatStringsSep " " ( lib.attrValues (config.fun (throw "shouldn't use input param")) ); };
optionsResult = lib.mkOption { type = types.str; default = lib.concatStringsSep " " ( lib.concatLists ( lib.mapAttrsToList (k: v: if k == "_module" then [ ] else [ (lib.showOption v.loc) ]) ( (options.fun.type.getSubOptions [ "fun" ]) ) ) ); }; };
config.fun = lib.mkMerge [ (input: { b = "bee"; }) ];}