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"
];
};
};
};
}