fix: dev vm setup
This commit is contained in:
parent
e73cc0c0f5
commit
b6230a1d29
10 changed files with 218 additions and 31 deletions
31
modules/nixos/virtualization.nix
Normal file
31
modules/nixos/virtualization.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, pkgs, ... }: {
|
||||
# QEMU guest agent provides graceful shutdowns and metadata exchange.
|
||||
# Disabled by default - enable in host overlay if needed.
|
||||
services.qemuGuest.enable = lib.mkDefault false;
|
||||
|
||||
# Spice vdagent handles clipboard sync, display resize, and mouse integration.
|
||||
services.spice-vdagentd.enable = lib.mkDefault true;
|
||||
|
||||
# Keep the VM clock in sync if timesyncd is not already enabled elsewhere.
|
||||
services.timesyncd.enable = lib.mkDefault true;
|
||||
|
||||
# Ensure essential virtio drivers are available early during boot.
|
||||
boot.initrd.kernelModules = lib.mkDefault [
|
||||
"virtio_pci"
|
||||
"virtio_blk"
|
||||
"virtio_net"
|
||||
"virtio_scsi"
|
||||
"virtio_mmio"
|
||||
];
|
||||
|
||||
boot.kernelModules =
|
||||
lib.mkDefault [ "virtio_balloon" "virtio_console" "virtio_rng" ];
|
||||
|
||||
# Provide udev rules to improve virtio device behaviour.
|
||||
services.udev.extraRules = lib.mkDefault ''
|
||||
ACTION=="add", SUBSYSTEM=="virtio", ATTR{device/driver_override}=""
|
||||
'';
|
||||
|
||||
# Pull in a few helper tools useful when tuning the guest.
|
||||
environment.systemPackages = with pkgs; [ spice-vdagent ];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue