diff --git a/machines/modules/malobeo/microvm_host.nix b/machines/modules/malobeo/microvm_host.nix index f665553..0822a2d 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 // {