# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrant.configure('2') do |config| config.vm.box = 'valengus/windows11-22h2-x64' config.vm.box_check_update = false # config.vm.synced_folder './data', '/data' # config.vm.synced_folder '~/shared', '/shared', type: '9p', disabled: false, accessmode: 'mapped' # config.vm.synced_folder '.', '/vagrant', type: '9p', accessmode: 'mapped' config.vm.provider :libvirt do |libvirt| libvirt.cpus = 8 libvirt.cputopology sockets: '1', cores: '4', threads: '2' libvirt.memory = 32768 libvirt.video_type = 'vga' libvirt.input type: 'mouse', bus: 'virtio' libvirt.input type: 'keyboard', bus: 'virtio' libvirt.graphics_type = 'spice' libvirt.graphics_port = '-1' libvirt.pci bus: '0x01', slot: '0x00', function: '0x00' libvirt.pci bus: '0x01', slot: '0x00', function: '0x01' libvirt.shmem name: 'looking-glass', type: 'ivshmem-plain', size: '32' libvirt.memorybacking :access, mode: 'shared' libvirt.memorybacking :source, type: 'memfd' libvirt.machine_virtual_size = 60 libvirt.cpu_model = 'host-passthrough' end config.vm.provision 'shell', path: '../scripts/provision-win.bat' config.trigger.before :up do |t| t.info = "Binding to VFIO" t.run = { path: '../scripts/bind-vfio.sh' } end [ :destroy, :halt ].each do |action| config.trigger.after action do |t| t.info = "Unbinding VFIO" t.run = { path: '../scripts/unbind-vfio.sh' } end end end