]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/tasks/default.nix
Use attrs for secrets instead of lists
[perso/Immae/Config/Nix.git] / modules / private / tasks / default.nix
index a6783741658acb809ebc2b073a5446a1868bfca5..ac2aa2184074baf8f76f60e52820da7076241c9b 100644 (file)
@@ -95,9 +95,8 @@ in {
         '';
     };
 
-    secrets.keys = [
-      {
-        dest = "webapps/tools-taskwarrior-web";
+    secrets.keys = {
+      "webapps/tools-taskwarrior-web" = {
         user = "wwwrun";
         group = "wwwrun";
         permissions = "0400";
@@ -110,9 +109,8 @@ in {
             SetEnv TASKD_LDAP_BASE     "${env.ldap.base}"
             SetEnv TASKD_LDAP_FILTER   "${env.ldap.filter}"
           '';
-      }
-    ] ++ (lib.mapAttrsToList (name: userConfig: {
-      dest = "webapps/tools-taskwarrior/${name}-taskrc";
+      };
+    } // (lib.mapAttrs' (name: userConfig: lib.nameValuePair "webapps/tools-taskwarrior/${name}-taskrc" {
       inherit user group;
       permissions = "0400";
       text = let
@@ -161,7 +159,7 @@ in {
         dateformat=${dateFormat}
       '';
     }) env.taskwarrior-web);
-    services.websites.env.tools.watchPaths = [ "/var/secrets/webapps/tools-taskwarrior-web" ];
+    services.websites.env.tools.watchPaths = [ config.secrets.fullPaths."webapps/tools-taskwarrior-web" ];
     services.websites.env.tools.modules = [ "proxy_fcgi" "sed" ];
     services.websites.env.tools.vhostConfs.task = {
       certName    = "eldiron";
@@ -176,7 +174,7 @@ in {
           <FilesMatch "\.php$">
             SetHandler "proxy:unix:${config.services.phpfpm.pools.tasks.socket}|fcgi://localhost"
           </FilesMatch>
-          Include /var/secrets/webapps/tools-taskwarrior-web
+          Include ${config.secrets.fullPaths."webapps/tools-taskwarrior-web"}
         </Directory>
         ''
         ''
@@ -328,7 +326,7 @@ in {
         after = [ "network.target" ];
         path = [ pkgs.taskwarrior ];
 
-        environment.TASKRC = "/var/secrets/webapps/tools-taskwarrior/${name}-taskrc";
+        environment.TASKRC = config.secrets.fullPaths."webapps/tools-taskwarrior/${name}-taskrc";
         environment.BUNDLE_PATH = "${taskwarrior-web.gems}/${taskwarrior-web.gems.ruby.gemPath}";
         environment.BUNDLE_GEMFILE = "${taskwarrior-web.gems.confFiles}/Gemfile";
         environment.LC_ALL = "fr_FR.UTF-8";