41 lines
850 B
Nix
41 lines
850 B
Nix
{
|
|
options,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
with lib.frajul; let
|
|
cfg = config.services.arion.windows;
|
|
in {
|
|
options.services.arion.windows = with types; {
|
|
enable = mkBoolOpt false "Enable the windows docker service";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
virtualisation.arion.enable = true;
|
|
virtualisation.arion.projects.windows.settings = {
|
|
project.name = "windows";
|
|
services.windows.service = {
|
|
image = "dockurr/windows";
|
|
environment.VERSION = "win11";
|
|
ports = [
|
|
"8006:8006"
|
|
"3389:3389/tcp"
|
|
"3389:3389/udp"
|
|
];
|
|
devices = [
|
|
"/dev/kvm"
|
|
];
|
|
capabilities = {
|
|
NET_ADMIN = true;
|
|
};
|
|
stop_grace_period = "2m";
|
|
volumes = [
|
|
"/home/${config.user.name}:/srv"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|