nixpkgs/lib/tests/modules/specialArgs-class.nix
Michael Hoang 6de9039315 lib/modules: add class to specialArgs
Co-Authored-By: Johannes Kirschbauer <hsjobeki@gmail.com>
2025-04-10 17:58:40 +02:00

54 lines
1.1 KiB
Nix

{ lib, ... }:
{
options = {
sub = {
nixos = lib.mkOption {
type = lib.types.submoduleWith {
class = "nixos";
modules = [
./expose-module-class.nix
];
};
default = { };
};
conditionalImportAsNixos = lib.mkOption {
type = lib.types.submoduleWith {
class = "nixos";
modules = [
./polymorphic-module.nix
];
};
default = { };
};
conditionalImportAsDarwin = lib.mkOption {
type = lib.types.submoduleWith {
class = "darwin";
modules = [
./polymorphic-module.nix
];
};
default = { };
};
};
};
config = {
_module.freeformType = lib.types.anything;
nixos = lib.evalModules {
class = "nixos";
modules = [ ./expose-module-class.nix ];
};
conditionalImportAsNixos = lib.evalModules {
class = "nixos";
modules = [ ./polymorphic-module.nix ];
};
conditionalImportAsDarwin = lib.evalModules {
class = "darwin";
modules = [ ./polymorphic-module.nix ];
};
};
}