diff options
Diffstat (limited to 'custom/borgbackup.nix')
-rw-r--r-- | custom/borgbackup.nix | 10 |
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; |