Hypervisor: virt-manager opens the session libvirt and cannot remember the system connection #88

Closed
opened 2026-10-09 18:44:45 +01:00 by vnprc-agent · 1 comment

Virtual Machine Manager on a hypervisor built from the public template shows no VMs, and a connection added by hand does not survive a reboot.

Evidence, laptop, fresh install from getting-started.sh, 2026-10-09: forge and allod-dev running (provision-vm works, virsh list from the operator's shell lists both), the GUI's window empty; after File, Add Connection, QEMU/KVM the VMs appear, and after a reboot the GUI is empty again.

Cause, read from the modules: the host module installs the virt-manager package (nix/configuration.nix, the package list) and sets LIBVIRT_DEFAULT_URI = "qemu:///system" for the operator's session, which a GNOME-launched application does not inherit, so the GUI opens qemu:///session. The NixOS option programs.virt-manager.enable is what a deployment's private profile uses; it also enables dconf, the settings store the GUI needs to remember an added connection, which the package alone does not provide.

Workaround: launch it as virt-manager -c qemu:///system each time.

Virtual Machine Manager on a hypervisor built from the public template shows no VMs, and a connection added by hand does not survive a reboot. Evidence, laptop, fresh install from `getting-started.sh`, 2026-10-09: `forge` and `allod-dev` running (`provision-vm` works, `virsh list` from the operator's shell lists both), the GUI's window empty; after File, Add Connection, QEMU/KVM the VMs appear, and after a reboot the GUI is empty again. Cause, read from the modules: the host module installs the `virt-manager` package (`nix/configuration.nix`, the package list) and sets `LIBVIRT_DEFAULT_URI = "qemu:///system"` for the operator's session, which a GNOME-launched application does not inherit, so the GUI opens `qemu:///session`. The NixOS option `programs.virt-manager.enable` is what a deployment's private profile uses; it also enables dconf, the settings store the GUI needs to remember an added connection, which the package alone does not provide. Workaround: launch it as `virt-manager -c qemu:///system` each time.
Author

Landed on allod/nexus master 9bddc78: programs.virt-manager.enable replaces the bare package, so dconf is on and qemu:///system is the autoconnect default. Pinned through the deploy template.

Landed on allod/nexus master 9bddc78: programs.virt-manager.enable replaces the bare package, so dconf is on and qemu:///system is the autoconnect default. Pinned through the deploy template.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
allod/nexus#88
No description provided.