]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/ftp.nix
Use attrs for secrets instead of lists
[perso/Immae/Config/Nix.git] / modules / private / ftp.nix
index 417af87e7a98a1aff34001fbdab1f4ddd6d9be4c..142819870b5f17bce2f5630e2a40445d05d2eab7 100644 (file)
@@ -16,6 +16,7 @@ in
   config = lib.mkIf config.services.pure-ftpd.enable {
     services.duplyBackup.profiles.ftp = {
       rootDir = "/var/lib/ftp";
+      remotes = [ "eriomem" "ovh" ];
     };
     security.acme.certs."ftp" = config.myServices.certificates.certConfig // {
       domain = "eldiron.immae.eu";
@@ -32,16 +33,13 @@ in
       };
     };
 
-    users.users = [
-      {
-        name = "ftp";
-        uid = config.ids.uids.ftp; # 8
-        group = "ftp";
-        description = "Anonymous FTP user";
-        home = "/homeless-shelter";
-        extraGroups = [ "keys" ];
-      }
-    ];
+    users.users.ftp = {
+      uid = config.ids.uids.ftp; # 8
+      group = "ftp";
+      description = "Anonymous FTP user";
+      home = "/homeless-shelter";
+      extraGroups = [ "keys" ];
+    };
 
     users.groups.ftp.gid = config.ids.gids.ftp;
 
@@ -49,8 +47,7 @@ in
       install -m 0755 -o ftp -g ftp -d /var/lib/ftp
       '';
 
-    secrets.keys = [{
-      dest = "pure-ftpd-ldap";
+    secrets.keys."pure-ftpd-ldap" = {
       permissions = "0400";
       user = "ftp";
       group = "ftp";
@@ -73,11 +70,11 @@ in
         # Compile dans pure-ftpd directement avec immaeFtpUid / immaeFtpGid
         LDAPHomeDir         immaeFtpDirectory
         '';
-    }];
+    };
 
     services.filesWatcher.pure-ftpd = {
       restart = true;
-      paths = [ "/var/secrets/pure-ftpd-ldap" ];
+      paths = [ config.secrets.fullPaths."pure-ftpd-ldap" ];
     };
 
     systemd.services.pure-ftpd = let
@@ -96,7 +93,7 @@ in
         SyslogFacility               ftp
         DontResolve                  yes
         MaxIdleTime                  15
-        LDAPConfigFile               /var/secrets/pure-ftpd-ldap
+        LDAPConfigFile               ${config.secrets.fullPaths."pure-ftpd-ldap"}
         LimitRecursion               10000 8
         AnonymousCanCreateDirs       no
         MaxLoad                      4