35 lines
1.4 KiB
Nix
35 lines
1.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
boot.initrd = {
|
|
availableKernelModules = [
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_net")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_mmio")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_pci")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_blk")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_scsi")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "9p")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "9pnet_virtio")
|
|
];
|
|
kernelModules = [
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_balloon")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_console")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_rng")
|
|
(lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") "virtio_gpu")
|
|
];
|
|
};
|
|
services.qemuGuest.enable = lib.mkIf (config.beancloud.hardware.virtualmachine.type == "kvm") true;
|
|
|
|
virtualisation.libvirtd.enable = lib.mkIf config.beancloud.software.virtualisation true;
|
|
environment.systemPackages = with pkgs; [
|
|
(lib.mkIf (
|
|
config.beancloud.software.virtualisation || config.beancloud.software.virt-manager
|
|
) virt-manager)
|
|
];
|
|
}
|