summary refs log tree commit diff
path: root/nixos/modules/services/backup
diff options
context:
space:
mode:
authorWinter <winter@winter.cafe>2022-01-08 17:45:07 -0500
committerWinter <winter@winter.cafe>2022-01-16 10:41:04 -0500
commit2104608642f3be6671ace4d6d9b29837cbf4ad2b (patch)
tree3af7b691620d91148521cedf7672f5ddf348b23e /nixos/modules/services/backup
parentd53d2147eff16f01b2345d4afed2de362979f551 (diff)
downloadnixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.tar
nixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.tar.gz
nixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.tar.bz2
nixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.tar.lz
nixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.tar.xz
nixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.tar.zst
nixpkgs-2104608642f3be6671ace4d6d9b29837cbf4ad2b.zip
nixos/borgbackup: allow empty archive base name
Diffstat (limited to 'nixos/modules/services/backup')
-rw-r--r--nixos/modules/services/backup/borgbackup.nix11
1 files changed, 6 insertions, 5 deletions
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 220c571b927..6804055a294 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -30,7 +30,7 @@ let
     }
     trap 'on_exit' INT TERM QUIT EXIT
 
-    archiveName="${cfg.archiveBaseName}-$(date ${cfg.dateFormat})"
+    archiveName="${if cfg.archiveBaseName == null then "" else cfg.archiveBaseName + "-"}$(date ${cfg.dateFormat})"
     archiveSuffix="${optionalString cfg.appendFailedSuffix ".failed"}"
     ${cfg.preHook}
   '' + optionalString cfg.doInit ''
@@ -60,7 +60,7 @@ let
   '' + optionalString (cfg.prune.keep != { }) ''
     borg prune $extraArgs \
       ${mkKeepArgs cfg} \
-      --prefix ${escapeShellArg cfg.prune.prefix} \
+      ${optionalString (cfg.prune.prefix != null) "--prefix ${escapeShellArg cfg.prune.prefix} \\"}
       $extraPruneArgs
     ${cfg.postPrune}
   '';
@@ -284,7 +284,7 @@ in {
           };
 
           archiveBaseName = mkOption {
-            type = types.strMatching "[^/{}]+";
+            type = types.nullOr (types.strMatching "[^/{}]+");
             default = "${globalConfig.networking.hostName}-${name}";
             defaultText = literalExpression ''"''${config.networking.hostName}-<name>"'';
             description = ''
@@ -292,6 +292,7 @@ in {
               determined by <option>dateFormat</option>, will be appended. The full
               name can be modified at runtime (<literal>$archiveName</literal>).
               Placeholders like <literal>{hostname}</literal> must not be used.
+              Use <literal>null</literal> for no base name.
             '';
           };
 
@@ -471,11 +472,11 @@ in {
           };
 
           prune.prefix = mkOption {
-            type = types.str;
+            type = types.nullOr (types.str);
             description = ''
               Only consider archive names starting with this prefix for pruning.
               By default, only archives created by this job are considered.
-              Use <literal>""</literal> to consider all archives.
+              Use <literal>""</literal> or <literal>null</literal> to consider all archives.
             '';
             default = config.archiveBaseName;
             defaultText = literalExpression "archiveBaseName";