[PATCH 3/8] nixos: drop hardcoded qxl video model from libvirt XML

Daniel Gomez <[email protected]> Thu, 23 Apr 2026 00:16:44 +0200
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
From: Daniel Gomez <[email protected]>

The NIXOS bringup template hardcoded a <video model='qxl'/> stanza,
which libvirt refuses when the host QEMU build lacks the spice/qxl
package. That package is optional on Debian server-class installs
of qemu-system-x86, so virsh define silently failed on otherwise
healthy hosts. The playbook's failed_when: false masked the error
until a later task tried to start the absent domain, producing an
opaque "Ensure VM is running" failure.

Remove the explicit <video> stanza entirely. Libvirt picks a
compatible video model automatically based on the machine type,
matching how the GUESTFS bringup operates. VNC graphics access is
unchanged.

Fixes: 3089c3fec57 ("nixos: add NixOS support as third bringup option with libvirt integration")
Generated-by: Claude AI
Signed-off-by: Daniel Gomez <[email protected]>
---
 playbooks/templates/nixos/vm-libvirt.xml.j2 | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/playbooks/templates/nixos/vm-libvirt.xml.j2 b/playbooks/templates/nixos/vm-libvirt.xml.j2
index 915a6090..2ace5784 100644
--- a/playbooks/templates/nixos/vm-libvirt.xml.j2
+++ b/playbooks/templates/nixos/vm-libvirt.xml.j2
@@ -79,11 +79,6 @@
       <listen type='address' address='127.0.0.1'/>
     </graphics>
 
-    <video>
-      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
-      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
-    </video>
-
     <memballoon model='virtio'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
     </memballoon>

-- 
2.53.0