nixos/borgbackup: add option "patterns"
This commit is contained in:
parent
f9db53a542
commit
cb4547a433
|
@ -11,7 +11,11 @@ let
|
|||
|
||||
mkExcludeFile = cfg:
|
||||
# Write each exclude pattern to a new line
|
||||
pkgs.writeText "excludefile" (concatStringsSep "\n" cfg.exclude);
|
||||
pkgs.writeText "excludefile" (concatMapStrings (s: s + "\n") cfg.exclude);
|
||||
|
||||
mkPatternsFile = cfg:
|
||||
# Write each pattern to a new line
|
||||
pkgs.writeText "patternsfile" (concatMapStrings (s: s + "\n") cfg.patterns);
|
||||
|
||||
mkKeepArgs = cfg:
|
||||
# If cfg.prune.keep e.g. has a yearly attribute,
|
||||
|
@ -46,6 +50,7 @@ let
|
|||
borg create $extraArgs \
|
||||
--compression ${cfg.compression} \
|
||||
--exclude-from ${mkExcludeFile cfg} \
|
||||
--patterns-from ${mkPatternsFile cfg} \
|
||||
$extraCreateArgs \
|
||||
"::$archiveName$archiveSuffix" \
|
||||
${if cfg.paths == null then "-" else escapeShellArgs cfg.paths}
|
||||
|
@ -424,6 +429,21 @@ in {
|
|||
];
|
||||
};
|
||||
|
||||
patterns = mkOption {
|
||||
type = with types; listOf str;
|
||||
description = lib.mdDoc ''
|
||||
Include/exclude paths matching the given patterns. The first
|
||||
matching patterns is used, so if an include pattern (prefix `+`)
|
||||
matches before an exclude pattern (prefix `-`), the file is
|
||||
backed up. See [{command}`borg help patterns`](https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-patterns) for pattern syntax.
|
||||
'';
|
||||
default = [ ];
|
||||
example = [
|
||||
"+ /home/susan"
|
||||
"- /home/*"
|
||||
];
|
||||
};
|
||||
|
||||
readWritePaths = mkOption {
|
||||
type = with types; listOf path;
|
||||
description = lib.mdDoc ''
|
||||
|
|
Loading…
Reference in a new issue