From 7bf1b4d04a753c949d3a1fe9f0945a36fcd18045 Mon Sep 17 00:00:00 2001 From: "Luca A." Date: Fri, 10 Oct 2025 20:52:59 +0200 Subject: [PATCH] nixos/forgejo: add age setting to automatic dump Currently dump are added to the directory but not cleaned up. This setting allows the user to customize the cleanup age of dumps. --- doc/release-notes/rl-2511.section.md | 2 ++ nixos/modules/services/misc/forgejo.nix | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 1d469c87dc7d..6b43ed98efc0 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -121,6 +121,8 @@ - Zig 0.12 has been removed. +- `services.forgejo.dump.age` now defaults to `4w`, which deletes dumps older than 4 weeks. This new behaviour could result in older backups being deleted. + - `ansible-later` has been removed because it was discontinued by the author. - `k3s` airgap images passthru attributes have changed: diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 0b49cb6d726d..ceee3e080eb5 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -285,6 +285,19 @@ in description = "Filename to be used for the dump. If `null` a default name is chosen by forgejo."; example = "forgejo-dump"; }; + + age = mkOption { + type = types.str; + default = "4w"; + example = "5d"; + description = '' + Age of backup used to decide what files to delete when cleaning. + If a file or directory is older than the current time minus the age field, it is deleted. + + The format is described in + {manpage}`tmpfiles.d(5)`. + ''; + }; }; lfs = { @@ -596,7 +609,7 @@ in }; systemd.tmpfiles.rules = [ - "d '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} ${cfg.dump.age} -" "z '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" "d '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -" "z '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -"