at master 1.2 kB view raw
1{ lib, ... }: 2{ 3 options = { 4 sub = { 5 nixos = lib.mkOption { 6 type = lib.types.submoduleWith { 7 class = "nixos"; 8 modules = [ 9 ./expose-module-class.nix 10 ]; 11 }; 12 default = { }; 13 }; 14 15 conditionalImportAsNixos = lib.mkOption { 16 type = lib.types.submoduleWith { 17 class = "nixos"; 18 modules = [ 19 ./polymorphic-module.nix 20 ]; 21 }; 22 default = { }; 23 }; 24 25 conditionalImportAsDarwin = lib.mkOption { 26 type = lib.types.submoduleWith { 27 class = "darwin"; 28 modules = [ 29 ./polymorphic-module.nix 30 ]; 31 }; 32 default = { }; 33 }; 34 }; 35 }; 36 config = { 37 _module.freeformType = lib.types.anything; 38 39 nixos = lib.evalModules { 40 class = "nixos"; 41 modules = [ ./expose-module-class.nix ]; 42 }; 43 44 conditionalImportAsNixos = lib.evalModules { 45 class = "nixos"; 46 modules = [ ./polymorphic-module.nix ]; 47 }; 48 49 conditionalImportAsDarwin = lib.evalModules { 50 class = "darwin"; 51 modules = [ ./polymorphic-module.nix ]; 52 }; 53 }; 54}