nix/modules/nixos/virtualisation/kvm/default.nix
Ameya Shenoy 4998e822a7 feat: init
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2024-11-11 01:48:40 +05:30

37 lines
1 KiB
Nix

{ config, lib, pkgs, ... }: {
options.snowflake.virtualisation.kvm.enable =
lib.mkEnableOption "enable kvm vms";
options.snowflake.virtualisation.kvm.ovmf.enable =
lib.mkEnableOption "enable ovmf module for vms";
config = lib.mkIf config.snowflake.virtualisation.kvm.enable {
# to enable nested virtualization
boot.extraModprobeConfig = ''
options kvm_intel nested=1
options kvm_intel emulate_invalid_guest_state=0
options kvm ignore_msrs=1
'';
virtualisation = {
libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = true;
swtpm.enable = true;
ovmf = lib.mkIf config.snowflake.virtualisation.kvm.ovmf.enable {
enable = true;
packages = [
(pkgs.OVMF.override {
secureBoot = true;
tpmSupport = true;
}).fd
];
};
};
};
};
programs.virt-manager.enable = true;
};
}