Moved to systemd for initrd, added integration for vmWithDisko

This commit is contained in:
Jan-Bulthuis committed 2025-06-11 11:58:54 +02:00
1 parent 3c20190709
commit affa333969
7 files changed
+26 -5

No files matched your search

+16 -2
View File
@@ -24,18 +24,32 @@ in
resetScript = mkOption {
type = types.lines;
description = ''
Script to run on boot that resets the root partition.
Script to run in order to reset the system to a clean state.
'';
};
};
config = mkIf cfg.enable {
# Filesystem setup
fileSystems."/persist".neededForBoot = true;
boot.initrd.postResumeCommands = mkAfter cfg.resetScript;
# boot.initrd.postResumeCommands = mkAfter cfg.resetScript;
# TODO: Reduce dependency on the root filesystem being ZFS?
boot.initrd.systemd.services.impermanence-rollback = {
description = "Rollback filesystem to clean state.";
wantedBy = [ "initrd.target" ];
after = [ "zfs-import.target" ];
before = [ "sysroot.mount" ];
unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot";
script = cfg.resetScript;
};
# For home-manager persistence
programs.fuse.userAllowOther = true;
# For testing purposes with VM
virtualisation.vmVariantWithDisko.virtualisation.fileSystems."/persist".neededForBoot = true;
environment.persistence."/persist/system" = {
enable = true;
hideMounts = true;