1{ lib, ... }: 2{ 3 options.submodule = lib.mkOption { 4 type = lib.types.submoduleWith { 5 modules = [ 6 ( 7 { lib, ... }: 8 { 9 options.foo = lib.mkOption { 10 default = lib.foo; 11 }; 12 } 13 ) 14 ]; 15 specialArgs.lib = lib // { 16 foo = "foo"; 17 }; 18 }; 19 default = { }; 20 }; 21}