From a03b7506c5e68f99f13b78bf714187a52b7383ef Mon Sep 17 00:00:00 2001 From: kalipso Date: Thu, 20 Mar 2025 19:51:14 +0100 Subject: [PATCH 1/3] [run-vm] keep microvm.deployHosts on nestedMicrovms --- machines/modules/host_builder.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/machines/modules/host_builder.nix b/machines/modules/host_builder.nix index d1fc74de..0fe75743 100644 --- a/machines/modules/host_builder.nix +++ b/machines/modules/host_builder.nix @@ -195,8 +195,7 @@ rec { vmNestedMicroVMOverwrites = host: sopsDummy: { - services.malobeo.microvm.deployHosts = pkgs.lib.mkForce []; - microvm.vms = + microvm.vms = pkgs.lib.mkForce ( let # Map the values to each hostname to then generate an Attrset using listToAttrs mapperFunc = name: { inherit name; value = { @@ -216,7 +215,7 @@ rec { }; }; }; in - builtins.listToAttrs (map mapperFunc self.nixosConfigurations.${host}.config.services.malobeo.microvm.deployHosts); + builtins.listToAttrs (map mapperFunc self.nixosConfigurations.${host}.config.services.malobeo.microvm.deployHosts)); }; buildVM = host: networking: sopsDummy: disableDisko: varPath: writableStore: fwdPort: (self.nixosConfigurations.${host}.extendModules { From 1f559d93ba451ee874f1e5490c1759ec0e6bde67 Mon Sep 17 00:00:00 2001 From: kalipso Date: Thu, 20 Mar 2025 19:51:52 +0100 Subject: [PATCH 2/3] [microvms] initialize directories on microvm host --- machines/modules/malobeo/microvm_host.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/machines/modules/malobeo/microvm_host.nix b/machines/modules/malobeo/microvm_host.nix index f6655539..0822a2d0 100644 --- a/machines/modules/malobeo/microvm_host.nix +++ b/machines/modules/malobeo/microvm_host.nix @@ -102,6 +102,23 @@ in /run/current-system/sw/bin/microvm -Ru ${name} ''; }; + + "microvm-init-dirs@${name}" = { + description = "Initialize microvm directories"; + after = [ "zfs-mount.service" ]; + wantedBy = [ "microvm@${name}.service" ]; + unitConfig.ConditionPathExists = "!/var/lib/microvms/${name}/.is_initialized"; + serviceConfig = { + Type = "oneshot"; + #User = "root"; + }; + script = '' + mkdir -p /var/lib/microvms/${name}/var + mkdir -p /var/lib/microvms/${name}/etc + mkdir -p /var/lib/microvms/data/${name} + touch /var/lib/microvms/${name}/.is_initialized + ''; + }; }) {} (cfg.deployHosts); systemd.timers = builtins.foldl' (timers: name: timers // { From e8c188debf857a2939b0a32766ae1e1f04ed9b4d Mon Sep 17 00:00:00 2001 From: kalipso Date: Thu, 20 Mar 2025 19:55:51 +0100 Subject: [PATCH 3/3] [microvms] rm unused code --- machines/modules/malobeo/microvm_host.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/machines/modules/malobeo/microvm_host.nix b/machines/modules/malobeo/microvm_host.nix index 0822a2d0..9b67d63c 100644 --- a/machines/modules/malobeo/microvm_host.nix +++ b/machines/modules/malobeo/microvm_host.nix @@ -110,7 +110,6 @@ in unitConfig.ConditionPathExists = "!/var/lib/microvms/${name}/.is_initialized"; serviceConfig = { Type = "oneshot"; - #User = "root"; }; script = '' mkdir -p /var/lib/microvms/${name}/var