{ lib, pkgs, desktop, ... }: { environment.systemPackages = [ pkgs.snapper ] ++ lib.optional (builtins.isString desktop) pkgs.snapper-gui; services.snapper = { snapshotRootOnBoot = true; cleanupInterval = "1d"; snapshotInterval = "1h"; configs = { root = { TIMELINE_CREATE = true; TIMELINE_CLEANUP = true; SUBVOLUME = "/"; }; home = { TIMELINE_CREATE = true; TIMELINE_CLEANUP = true; SUBVOLUME = "home"; }; nix = { TIMELINE_CREATE = true; TIMELINE_CLEANUP = true; SUBVOLUME = "nix"; }; }; }; }