58 lines
1.2 KiB
Nix
58 lines
1.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.homelab.virtualization;
|
|
in
|
|
{
|
|
options.homelab.virtualization = {
|
|
user = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "river";
|
|
description = "The user to run virtualization services as.";
|
|
};
|
|
|
|
# podman
|
|
podman = {
|
|
enable = lib.mkEnableOption "Podman support";
|
|
|
|
packages = lib.mkEnableOption "Install Relevant Podman packages" {
|
|
enable = true;
|
|
default = false;
|
|
};
|
|
};
|
|
|
|
# qemu
|
|
qemu = {
|
|
enable = lib.mkEnableOption "QEMU support";
|
|
|
|
containers = lib.mkEnableOption "Enable container support for QEMU" {
|
|
enable = true;
|
|
default = false;
|
|
};
|
|
|
|
spiceUSBRedirection = lib.mkEnableOption "Enable spice USB redirection support for QEMU" {
|
|
enable = true;
|
|
default = false;
|
|
};
|
|
|
|
virtManager = lib.mkEnableOption "Enable virt-manager support for QEMU" {
|
|
enable = true;
|
|
default = false;
|
|
};
|
|
|
|
bootModules = lib.mkOption {
|
|
type = lib.types.listOf lib.types.str;
|
|
default = [
|
|
"kvm-intel"
|
|
"kvm-amd"
|
|
];
|
|
description = "The kernel modules to load for QEMU support.";
|
|
};
|
|
};
|
|
};
|
|
}
|