{ lib, pkgs, desktop, ... }: { environment.systemPackages = [ pkgs.snapper ] ++ lib.optional (builtins.isString desktop) pkgs.snapper-gui; services.snapper = { snapshotRootOnBoot = true; cleanupInterval = "7d"; snapshotInterval = "hourly"; 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"; }; }; }; }