laptop-config/modules/virtualization.nix
Scott Scoble f9f6ddc670 WGU prep: Windows VM setup, trackpad/trackpoint tweaks, aliases
- Add WGU Windows VM helper script + virtualization module (KVM/libvirt)
- Fix create-wgu-vn: mkdir before use, CPU topology, detect OS variant
- Add Webex, ZapZap, qalculate-gtk, libqalculate, tigervnc packages
- Add n97-mini VNC alias, switch nr to local flake path
- Tune trackpad (0.44) and TrackPoint (160/120) sensitivity
- Reduce mouse sensitivity to -0.2
- Move zapzap from desktop.nix alphabetically
- Remove OVMFFull from virtualisation (handled by swtpm/OVMF default)
- Bump flake inputs (home-manager, nixos-hardware, nixpkgs, pi-mono)
2026-06-04 11:44:32 -07:00

38 lines
1.1 KiB
Nix

{ config, pkgs, lib, ... }:
{
# === KVM / QEMU / libvirt — Windows VM for WGU Guardian browser ===
# Enable KVM — kernel module + group
boot.kernelModules = [ "kvm-amd" "kvm-intel" ];
boot.extraModulePackages = [ ];
# libvirt daemon
virtualisation.libvirtd = {
enable = true;
qemu.swtpm.enable = true; # TPM emulation (required for Windows 11)
};
# User in libvirt group (manages VMs without sudo)
users.users.sscoble.extraGroups = [ "libvirtd" ];
environment.systemPackages = with pkgs; [
# VM manager (GUI — launch from rofi)
virt-manager
virt-viewer # Spice client (better than virt-manager's built-in)
spice-gtk # Spice protocol (clipboard, USB, audio)
# Software TPM
swtpm
# Guest tools
spice-vdagent # Clipboard sync, auto-resize
];
# Enable Spice USB redirection service
services.spice-vdagentd.enable = true;
# Firewall: allow VNC/Spice from localhost only (safe for guest display)
networking.firewall.allowedTCPPorts = [ ];
networking.firewall.allowedUDPPorts = [ ];
}