unit/modules/virtualization.nix

28 lines
725 B
Nix
Raw Permalink Normal View History

2021-03-15 12:08:59 +01:00
{ config, lib, pkgs, ... }:
{
# Enable virtualisation
virtualisation.libvirtd = {
enable = true;
qemuRunAsRoot = false;
2021-03-15 12:08:59 +01:00
onBoot = "ignore";
onShutdown = "shutdown";
allowedBridges = [ "br0" ];
2021-03-15 12:08:59 +01:00
};
2021-03-17 17:50:01 +01:00
# Declarative configuration of the VMs
systemd.services.sica = {
description = "SICA database";
wantedBy = [ "default.target" ];
script = ''
disk=/vault/VMs/sica.qcow2
sock=/run/qemu-sica.mon.sock
${pkgs.qemu}/bin/qemu-kvm -m 1G -nic bridge,br=br0,model=virtio --hda $disk -monitor unix:$sock,server,nowait -nographic
2021-03-17 17:50:01 +01:00
'';
preStop = ''
echo 'system_powerdown' | ${pkgs.socat}/bin/socat - UNIX-CONNECT:/run/qemu-sica.mon.sock
sleep 10
'';
};
2021-03-15 12:08:59 +01:00
}