summaryrefslogtreecommitdiff
path: root/custom/borgbackup.nix
diff options
context:
space:
mode:
Diffstat (limited to 'custom/borgbackup.nix')
-rw-r--r--custom/borgbackup.nix10
1 files changed, 5 insertions, 5 deletions
diff --git a/custom/borgbackup.nix b/custom/borgbackup.nix
index 9c696393..865cda3b 100644
--- a/custom/borgbackup.nix
+++ b/custom/borgbackup.nix
@@ -19,7 +19,7 @@ let
19 19
20 pathType = if cfg.snapshots == "lvm" then types.submodule lvmPath else types.path; 20 pathType = if cfg.snapshots == "lvm" then types.submodule lvmPath else types.path;
21 21
22 systemdPath = path: if cfg.snapshots == "lvm" then escapeSystemdPath "${path.VG}/${path.LV}" else escapeSystemdPath path; 22 systemdPath = path: escapeSystemdPath (if cfg.snapshots == "lvm" then "${path.VG}-${path.LV}" else path);
23 23
24 withPrefix = path: config.services.btrfs-snapshots.mountPrefix + path; 24 withPrefix = path: config.services.btrfs-snapshots.mountPrefix + path;
25 25
@@ -90,9 +90,9 @@ in {
90 90
91 services.btrfs-snapshots.enable = mkIf (cfg.snapshots == "btrfs") true; 91 services.btrfs-snapshots.enable = mkIf (cfg.snapshots == "btrfs") true;
92 92
93 services.lvm-snapshots.snapshots = mkIf (cfg.snapshots == "lvm") (listToAttrs (map (path: nameValuePair (escapeSystemdPath (path.VG + "/" + path.LV)) { 93 services.lvm-snapshots.snapshots = mkIf (cfg.snapshots == "lvm") (listToAttrs (map (path: nameValuePair (path.VG + "-" + path.LV) {
94 inherit (path) LV VG; 94 inherit (path) LV VG;
95 mountName = withPrefix (systemdPath path); 95 mountName = withPrefix (VG + "-" + LV);
96 }) (unique (flatten (mapAttrsToList (target: tCfg: tCfg.paths) cfg.targets))))); 96 }) (unique (flatten (mapAttrsToList (target: tCfg: tCfg.paths) cfg.targets)))));
97 97
98 systemd.timers = (listToAttrs (map ({ target, path, tCfg }: nameValuePair "borgbackup-${target}@${systemdPath path}" { 98 systemd.timers = (listToAttrs (map ({ target, path, tCfg }: nameValuePair "borgbackup-${target}@${systemdPath path}" {
@@ -146,12 +146,12 @@ in {
146 unitConfig = { 146 unitConfig = {
147 AssertPathIsDirectory = mkIf (tCfg.lock != null) "/var/lock"; 147 AssertPathIsDirectory = mkIf (tCfg.lock != null) "/var/lock";
148 DefaultDependencies = false; 148 DefaultDependencies = false;
149 RequiresMountsFor = mkIf (cfg.snapshots == "lvm") [ "${mountPoint}/${withPrefix "%i"}" ]; 149 RequiresMountsFor = mkIf (cfg.snapshots == "lvm") [ "${mountPoint}/${withPrefix "%I"}" ];
150 }; 150 };
151 151
152 serviceConfig = { 152 serviceConfig = {
153 Type = "oneshot"; 153 Type = "oneshot";
154 WorkingDirectory = if (cfg.snapshots == null) then "%p" else "${mountPoint}/${withPrefix "%i"}"; 154 WorkingDirectory = if (cfg.snapshots == null) then "%I" else (if (cfg.snapshots == "lvm") then "${mountPoint}/${withPrefix "%I"}" else "${mountPoint}/${withPrefix "%i"}");
155 Nice = 15; 155 Nice = 15;
156 IOSchedulingClass = 2; 156 IOSchedulingClass = 2;
157 IOSchedulingPriority = 7; 157 IOSchedulingPriority = 7;