{ lib, pkgs, config, ... }: let hostname = "dev"; in { microvm.vms.dev = { config = { imports = [ ../dev/configuration.nix ./network-prefix.nix ]; networkPrefix = config.networkPrefix; microvm = { mem = 4096; vcpu = 2; shares = [ { source = "/nix/store"; mountPoint = "/nix/.ro-store"; tag = "ro-store"; proto = "virtiofs"; } { source = "/var/lib/microvms/persist/dev"; mountPoint = "/persist"; tag = "persist"; proto = "virtiofs"; } { source = "/var/lib/microvms/persist/dev/home"; mountPoint = "/home"; tag = "home"; proto = "virtiofs"; } ]; volumes = [{ image = "rootfs.img"; mountPoint = "/"; size = 51200; }]; interfaces = [{ type = "tap"; id = "vm-${hostname}"; mac = "02:00:00:00:02:01"; }]; }; systemd.network.networks."10-lan" = { matchConfig.PermanentMACAddress = "02:00:00:00:02:01"; address = [ "${config.networkPrefix}.97.15/24" ]; gateway = [ "${config.networkPrefix}.97.1" ]; dns = [ "${config.networkPrefix}.97.1" ]; }; }; }; }