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