c · gtk4 · systems

vmmanager

a native gtk4 desktop app for managing qemu/kvm virtual machines and incus/lxd containers — from one window.

c gtk4 libvirt qemu kvm incus lxd virtualization linux gpl-3.0

what it is

think proxmox — but as a compiled c binary on your desktop. no browser, no web server, no runtime dependencies. one binary that manages both qemu/kvm virtual machines and incus/lxd containers from a single gtk4 interface.

i wrote it in c on purpose. i wanted to talk to libvirt directly as a c library, drive the incus rest api over its unix socket with libcurl, and feel where the real complexity in virtualization management lives — instead of letting a high-level framework hide it from me.

what it does

dashboard — real-time cpu, ram, and disk monitoring plus vm/container counts, refreshing every few seconds
virtual machines — create, start, shut down, pause, resume, reboot, force-stop, and delete kvm vms via libvirt
containers — full lifecycle for incus/lxd containers via the rest api
snapshots — create, revert, and delete vm snapshots
console access — launch a vm viewer or a container shell straight from the app
activity log, search & filter, keyboard shortcuts, persistent settings

architecture

the gui is two gtk4 panels — one for vms, one for containers. underneath, the vm panel speaks to libvirt as a c library, and the container panel speaks the incus rest api through libcurl over a unix socket. those two adapters fan out to qemu/kvm and incus/lxd respectively. that's the whole shape: a thin, honest layer over the tools that already do the heavy lifting.

clanguage
gtk 4gui
v2.0.0version
gpl-3.0license

built by dharun ashokkumar