treewide: initial commit

This commit is contained in:
2026-04-18 16:28:25 -04:00
commit 75532a931c
18 changed files with 1237 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.snapper;
inherit (lib)
mkEnableOption
mkOption
mkIf
types
;
in
{
options.snapper = {
enable = mkEnableOption "" // {
default = true;
};
interval = mkOption {
default = "daily";
type = types.str;
};
};
config = mkIf cfg.enable {
services.snapper = {
snapshotInterval = cfg.interval;
configs = {
home = {
SUBVOLUME = "/home";
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = 24;
TIMELINE_LIMIT_DAILY = 7;
TIMELINE_LIMIT_WEEKLY = 0;
TIMELINE_LIMIT_MONTHLY = 3;
TIMELINE_LIMIT_YEARLY = 0;
};
persist = {
SUBVOLUME = "/persist";
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = 24;
TIMELINE_LIMIT_DAILY = 7;
TIMELINE_LIMIT_WEEKLY = 0;
TIMELINE_LIMIT_MONTHLY = 3;
TIMELINE_LIMIT_YEARLY = 0;
};
};
};
environment.systemPackages = [ pkgs.snapper ];
};
}