Merge pull request #320673 from rvl/snapper-systemd-fix

nixos/snapper: Don't create broken snapper-boot.service
This commit is contained in:
Artturin 2024-06-19 14:59:00 +03:00 committed by GitHub
commit 7324a175cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 2 deletions

View File

@ -235,7 +235,7 @@ in
timerConfig.OnUnitActiveSec = cfg.cleanupInterval;
};
systemd.services.snapper-boot = lib.optionalAttrs cfg.snapshotRootOnBoot {
systemd.services.snapper-boot = lib.mkIf cfg.snapshotRootOnBoot {
description = "Take snapper snapshot of root on boot";
inherit documentation;
serviceConfig.ExecStart = "${pkgs.snapper}/bin/snapper --config root create --cleanup-algorithm number --description boot";

View File

@ -19,7 +19,9 @@ import ./make-test-python.nix ({ ... }:
services.snapper.filters = "/nix";
};
testScript = ''
testScript = { nodes, ... }: let
inherit (nodes.machine.services.snapper) snapshotRootOnBoot;
in ''
machine.succeed("btrfs subvolume create /home/.snapshots")
machine.succeed("snapper -c home list")
machine.succeed("snapper -c home create --description empty")
@ -31,5 +33,6 @@ import ./make-test-python.nix ({ ... }:
machine.succeed("snapper -c home delete 2")
machine.succeed("systemctl --wait start snapper-timeline.service")
machine.succeed("systemctl --wait start snapper-cleanup.service")
machine.${if snapshotRootOnBoot then "succeed" else "fail"}("systemctl cat snapper-boot.service")
'';
})