diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2018-04-14 17:20:32 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2018-04-14 17:20:32 +0200 |
commit | 7c3d67bb98d31f433bb3ab7a2c05c0808c8deac5 (patch) | |
tree | a224630b42f0df73a56ae4410c582d83779625e8 | |
parent | c5696346983e54c53f14b525129f8f3af9817035 (diff) | |
download | nixos-7c3d67bb98d31f433bb3ab7a2c05c0808c8deac5.tar nixos-7c3d67bb98d31f433bb3ab7a2c05c0808c8deac5.tar.gz nixos-7c3d67bb98d31f433bb3ab7a2c05c0808c8deac5.tar.bz2 nixos-7c3d67bb98d31f433bb3ab7a2c05c0808c8deac5.tar.xz nixos-7c3d67bb98d31f433bb3ab7a2c05c0808c8deac5.zip |
systemd escaping
-rw-r--r-- | custom/lvm-snapshots.nix | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/custom/lvm-snapshots.nix b/custom/lvm-snapshots.nix index 86b3061a..c78de3a5 100644 --- a/custom/lvm-snapshots.nix +++ b/custom/lvm-snapshots.nix | |||
@@ -9,6 +9,8 @@ let | |||
9 | snapshotMount = name: "${cfg.mountPoint}/${if isNull cfg.snapshots."${name}".mountName then name else cfg.snapshots."${name}".mountName}"; | 9 | snapshotMount = name: "${cfg.mountPoint}/${if isNull cfg.snapshots."${name}".mountName then name else cfg.snapshots."${name}".mountName}"; |
10 | snapshotName = name: "${name}-snapshot"; | 10 | snapshotName = name: "${name}-snapshot"; |
11 | 11 | ||
12 | instance = scfg: escapeSystemdPath (scfg.VG + "/" + scfg.LV); | ||
13 | |||
12 | snapshotConfig = { | 14 | snapshotConfig = { |
13 | options = { | 15 | options = { |
14 | LV = mkOption { | 16 | LV = mkOption { |
@@ -65,7 +67,7 @@ in { | |||
65 | mkdir -p ${snapshotMount name} | 67 | mkdir -p ${snapshotMount name} |
66 | '') cfg.snapshots; | 68 | '') cfg.snapshots; |
67 | 69 | ||
68 | systemd.services = mapAttrs' (name: scfg: nameValuePair ("lvm-snapshot@" + scfg.VG + "-" + snapshotName name) { | 70 | systemd.services = mapAttrs' (name: scfg: nameValuePair ("lvm-snapshot@" + instance scfg) { |
69 | enable = true; | 71 | enable = true; |
70 | 72 | ||
71 | description = "LVM-snapshot of ${scfg.VG}/${scfg.LV}"; | 73 | description = "LVM-snapshot of ${scfg.VG}/${scfg.LV}"; |
@@ -109,8 +111,8 @@ in { | |||
109 | StopWhenUnneeded = !scfg.persist; | 111 | StopWhenUnneeded = !scfg.persist; |
110 | }; | 112 | }; |
111 | 113 | ||
112 | bindsTo = [ ("lvm-snapshot@" + scfg.VG + "-" + snapshotName name + ".service") ]; | 114 | bindsTo = [ ("lvm-snapshot@" + instance scfg + ".service") ]; |
113 | after = [ ("lvm-snapshot@" + scfg.VG + "-" + snapshotName name + ".service") ]; | 115 | after = [ ("lvm-snapshot@" + instance scfg + ".service") ]; |
114 | 116 | ||
115 | options = concatStringsSep "," ([ "noauto" ] ++ optional scfg.readOnly "ro"); | 117 | options = concatStringsSep "," ([ "noauto" ] ++ optional scfg.readOnly "ro"); |
116 | 118 | ||