diff --git a/modules/flake/vm.nix b/modules/flake/vm.nix index b597829..e80e81b 100644 --- a/modules/flake/vm.nix +++ b/modules/flake/vm.nix @@ -1,17 +1,30 @@ -{ self, lib, ... }: +{ inputs, config, ... }: +let + inherit (inputs.nixpkgs) lib; + cfg = config.local; +in { - perSystem = { - apps = lib.mapAttrs' (name: host: { - name = "${name}-vm"; - value = { - type = "app"; - program = lib.getExe ( - if host.config.disko.devices.disk != { } then - host.config.system.build.vmWithDisko - else - host.config.system.build.vm - ); - }; - }) self.nixosConfigurations; - }; + flake.nixosConfigurations = lib.mapAttrs' ( + name: module: + lib.nixosSystem { + modules = [ + module + inputs.microvm.nixosModules.microvm + inputs.self.modules.nixos.microvm-guest + { + disabledModules = [ inputs.srvos.nixosModules.hardware-vultr-vm ]; + + microvm.mem = 1536; + microvm.proto = "9p"; + + disko.devices = lib.mkForce { }; + fileSystems."/run/media/persist".enable = false; + local.persistence.enable = lib.mkForce false; + + services.yggdrasil.enable = lib.mkForce false; + } + ]; + } + |> lib.nameValuePair "${name}-vm" + ) cfg.hosts; }