From 7c22f6b1fd60775f671791f192f766da14f57ed0 Mon Sep 17 00:00:00 2001 From: kalle Date: Fri, 9 Jan 2026 12:16:18 +0000 Subject: [PATCH] feat: add proper QEMU guest support for memory ballooning - Import NixOS qemu-guest.nix profile (sets up virtio modules in initrd) - Enable qemu-guest-agent service for VM management - Remove manual virtio_balloon config (now handled by profile) The qemu-guest profile properly configures: - virtio_balloon in boot.initrd.kernelModules (loads early) - virtio_console, virtio_rng, virtio_gpu - virtio_net, virtio_pci, virtio_blk, virtio_scsi Co-Authored-By: Claude Opus 4.5 --- configuration.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/configuration.nix b/configuration.nix index 995b7a0..676ca4c 100644 --- a/configuration.nix +++ b/configuration.nix @@ -2,12 +2,15 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: +{ config, pkgs, modulesPath, ... }: { - # imports = [ ./hw.nix ]; + # Import NixOS QEMU guest profile for optimal virtio support + imports = [ + "${modulesPath}/profiles/qemu-guest.nix" + ]; # boot.loader.grub.device = "/dev/vda"; # fileSystems."/" = { @@ -20,8 +23,8 @@ "console=tty1" ]; - # Enable virtio balloon driver for dynamic memory resizing - boot.kernelModules = [ "virtio_balloon" ]; + # QEMU guest agent for VM management (memory stats, filesystem freeze, etc.) + services.qemuGuest.enable = true; systemd.services."serial-getty@ttyS0" = { enable = true;