Skip to main content
vee
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage
Edit page

vm.yaml Reference

Every VM’s full configuration is stored in ~/.vee/vms/<name>/vm.yaml. You can edit this file directly — changes take effect on the next vee start.

Full example

name: linux-gaming
template: passthrough
memory: 16G
cpus: 6
sockets: 1
cores: 3
threads: 2
cpu_model: host

disks:
  - path: /dev/disk/by-id/nvme-CT2000P3PSSD8_...
    size: ""
    format: raw
    interface: virtio
    media: disk
    cache: none
    readonly: false
    passthrough: true

nic:
  mode: bridge
  bridge: br0
  model: virtio-net-pci
  mac: 52:54:54:8d:72:76

gpu:
  mode: passthrough
  pci_addr: "0000:08:00.0"
  extra_vfio_addrs:
    - "0000:08:00.1"
  rom_file: /home/user/.vee/gpu.rom
  anti_detect: true

uefi:
  enabled: true
  vars_path: /home/user/.vee/vms/linux-gaming/OVMF_VARS.fd

spice:
  port: 5930
  disable_ticketing: true

ssh_user: youruser
guest_agent: true

extra_devices:
  - virtio-gpu-pci,edid=on,xres=1920,yres=1080

vga: none

created_at: 2026-01-01T00:00:00Z

Fields

Top-level

FieldTypeDescription
namestringVM name (matches directory name)
templatestringTemplate used to create the VM
memorystringRAM, e.g. 16G
cpusintTotal vCPU count
socketsintCPU socket topology
coresintCores per socket
threadsintThreads per core (SMT)
cpu_modelstringQEMU CPU model, e.g. host
ssh_userstringDefault SSH user for vee ssh
guest_agentboolEnable QGA virtio-serial socket
vgastringVGA device type; set to none for passthrough
extra_devices[]stringAdditional -device arguments passed to QEMU
created_attimestampCreation time (set automatically)

disks[]

FieldDescription
pathDevice path or image file path
sizeImage size (empty for raw block passthrough)
formatqcow2 or raw
interfacevirtio, sata, nvme
mediadisk or cdrom
cacheQEMU cache mode (none, writeback, etc.)
readonlyMount read-only
passthroughtrue for raw block device passthrough

nic

FieldDescription
modeuser (NAT) or bridge
bridgeHost bridge interface name (bridge mode)
modelQEMU NIC model (virtio-net-pci, e1000, etc.)
macMAC address (assign a stable one for bridge VMs)

gpu

FieldDescription
modenone, virtio (accelerated virtio-gpu), passthrough (VFIO, Linux host only), or apple-gfx (macOS guest, macOS host)
pci_addrPrimary GPU PCI address, e.g. 0000:08:00.0 (passthrough)
extra_vfio_addrsAdditional IOMMU group peer addresses (passthrough)
rom_filePath to VBIOS dump (required for AMD Navi)
anti_detectHide virtualization artifacts from anti-cheat
gl_backendHost GL backend for virtio mode: es (ANGLE/Metal, macOS default, stable), core (native, unstable), on (Linux EGL). Empty picks the host default.
venusEnable Vulkan-over-virtio (Venus) on the virtio-gpu-gl device. Experimental; needs a Venus-capable QEMU and a host Vulkan driver (MoltenVK on macOS).
host_memHost memory window for Venus blob resources, e.g. 8G (only with venus: true).

On a macOS host, mode: virtio emits virtio-gpu-gl-pci with -display cocoa,gl=es; mode: passthrough is rejected (VFIO is Linux-only). See docs/macos.md.

uefi

FieldDescription
enabledEnable UEFI boot (OVMF)
vars_pathPath to OVMF_VARS.fd (mutable EFI variables store)

spice

FieldDescription
portHost port for the SPICE display server
disable_ticketingAllow unauthenticated SPICE connections