38 lines
1 KiB
Nix
38 lines
1 KiB
Nix
|
{ lib, ... }:
|
||
|
let
|
||
|
inherit (lib)
|
||
|
mkOption
|
||
|
types
|
||
|
;
|
||
|
in {
|
||
|
options = {
|
||
|
valhalla = mkOption {
|
||
|
type = types.submodule (
|
||
|
{ extendModules, ... }:
|
||
|
let
|
||
|
osVariant = extendModules { };
|
||
|
linuxVariant = osVariant.extendModules { };
|
||
|
windowsVariant = osVariant.extendModules { };
|
||
|
in {
|
||
|
options = {
|
||
|
linux = mkOption {
|
||
|
inherit (linuxVariant) type;
|
||
|
description = "The Linux specific configuration.";
|
||
|
default = {};
|
||
|
visible = "shallow";
|
||
|
};
|
||
|
|
||
|
windows = mkOption {
|
||
|
inherit (windowsVariant) type;
|
||
|
description = "The Windows specific configuration.";
|
||
|
default = {};
|
||
|
visible = "shallow";
|
||
|
};
|
||
|
};
|
||
|
});
|
||
|
|
||
|
description = "Configuration for PortValhalla.";
|
||
|
default = {};
|
||
|
};
|
||
|
};
|
||
|
}
|