58 lines
1.2 KiB
Nix
58 lines
1.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.qois.system.virtual-machine;
|
|
in
|
|
with lib;
|
|
{
|
|
options.qois.system.virtual-machine.enable =
|
|
mkEnableOption "Enable qois system vm default configuration";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
boot.loader.grub.enable = true;
|
|
|
|
system.autoUpgrade.allowReboot = true;
|
|
|
|
services.qemuGuest.enable = true;
|
|
|
|
boot.initrd.availableKernelModules =
|
|
[
|
|
"ahci"
|
|
"xhci_pci"
|
|
"sr_mod"
|
|
]
|
|
++
|
|
# Taken from https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/profiles/qemu-guest.nix
|
|
[
|
|
"virtio_net"
|
|
"virtio_pci"
|
|
"virtio_mmio"
|
|
"virtio_blk"
|
|
"virtio_scsi"
|
|
"9p"
|
|
"9pnet_virtio"
|
|
];
|
|
boot.initrd.kernelModules = [
|
|
"virtio_balloon"
|
|
"virtio_console"
|
|
"virtio_rng"
|
|
"virtio_gpu"
|
|
];
|
|
|
|
# Taken from https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/profiles/minimal.nix
|
|
documentation.enable = lib.mkDefault false;
|
|
|
|
documentation.doc.enable = lib.mkDefault false;
|
|
|
|
documentation.info.enable = lib.mkDefault false;
|
|
|
|
documentation.man.enable = lib.mkDefault false;
|
|
|
|
documentation.nixos.enable = lib.mkDefault false;
|
|
|
|
};
|
|
}
|