]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/duply_backup/default.nix
Use attrs for secrets instead of lists
[perso/Immae/Config/Nix.git] / modules / duply_backup / default.nix
index 88245a2a023f1933d5452732f38c9383e1f19602..846b1d472a6c0fc8ca9c7c31034c0f77e2c28875 100644 (file)
@@ -75,19 +75,21 @@ in
     system.activationScripts.backup = ''
       install -m 0700 -o root -g root -d ${varDir} ${varDir}/caches
       '';
-    secrets.keys = lib.flatten (lib.mapAttrsToList (k: v:
+    secrets.keys = lib.listToAttrs (lib.flatten (lib.mapAttrsToList (k: v:
       map (remote: [
-        {
+        (lib.nameValuePair "backup/${varName k remote}/conf" {
           permissions = "0400";
-          dest = "backup/${varName k remote}/conf";
           text = duplyProfile v remote "${k}/";
-        }
-        {
+        })
+        (lib.nameValuePair "backup/${varName k remote}/exclude" {
           permissions = "0400";
-          dest = "backup/${varName k remote}/exclude";
           text = v.excludeFile;
-        }
-    ]) v.remotes) config.services.duplyBackup.profiles);
+        })
+        (lib.nameValuePair "backup/${varName k remote}" {
+          permissions = "0500";
+          isDir = true;
+        })
+    ]) v.remotes) config.services.duplyBackup.profiles));
 
     services.cron = {
       enable = true;
@@ -99,7 +101,7 @@ in
             map (remote: [
             ''
               touch ${varDir}/${varName k remote}.log
-              ${pkgs.duply}/bin/duply ${config.secrets.location}/backup/${varName k remote}/ ${action} --force >> ${varDir}/${varName k remote}.log
+              ${pkgs.duply}/bin/duply ${config.secrets.fullPaths."backup/${varName k remote}"}/ ${action} --force >> ${varDir}/${varName k remote}.log
               [[ $? = 0 ]] || echo -e "Error when doing backup for ${varName k remote}, see above\n---------------------------------------" >&2
             ''
             ]) v.remotes