]> git.immae.eu Git - perso/Immae/Config/Nix/NUR.git/commitdiff
Move florian php configuration to dedicated module
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 2 Jun 2019 12:31:25 +0000 (14:31 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 24 Apr 2020 22:04:24 +0000 (00:04 +0200)
modules/websites/php-application.nix

index 1bc4872eae3bfd3c8f7a083397531d20c0e68b05..8ad7a0dfe33e71ac3970242c5cbb3ff874259d1f 100644 (file)
@@ -19,6 +19,13 @@ in
               Path to application’s vardir.
               '';
           };
+          varDirPaths = mkOption {
+            type = attrsOf str;
+            default = {};
+            description = ''
+              Map of additional folders => mode to create under varDir
+              '';
+          };
           mode = mkOption {
             type = str;
             default = "0700";
@@ -163,7 +170,7 @@ in
           listen.group = ${icfg.httpdGroup}
           ${optionalString (icfg.phpSession) ''
             php_admin_value[session.save_path] = "${icfg.varDir}/phpSessions"''}
-          php_admin_value[open_basedir] = "${builtins.concatStringsSep ":" ([icfg.app icfg.varDir] ++ icfg.phpOpenbasedir)}"
+          php_admin_value[open_basedir] = "${builtins.concatStringsSep ":" ([icfg.app icfg.varDir] ++ icfg.phpWatchFiles ++ icfg.phpOpenbasedir)}"
           '' + icfg.phpPool;
         phpOptions = config.services.phpfpm.phpOptions + icfg.phpOptions;
       }
@@ -173,6 +180,13 @@ in
       (if icfg.webappName == null then name else icfg.webappName) icfg.webRoot
     ) (attrsets.filterAttrs (n: v: !isNull v.webRoot) cfg.apps);
 
+    services.filesWatcher = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair
+      "phpfpm-${name}" {
+        restart = true;
+        paths = icfg.phpWatchFiles;
+      }
+    ) (attrsets.filterAttrs (n: v: builtins.length v.phpWatchFiles > 0) cfg.apps);
+
     systemd.services = attrsets.mapAttrs' (name: icfg: attrsets.nameValuePair
       "phpfpm-${name}" {
         after = lib.mkAfter icfg.serviceDeps;
@@ -210,7 +224,9 @@ in
           install -m ${icfg.mode} -o ${icfg.httpdUser} -g ${icfg.httpdGroup} -d ${icfg.varDir}
           '' + optionalString (icfg.phpSession) ''
           install -m 0700 -o ${icfg.httpdUser} -g ${icfg.httpdGroup} -d ${icfg.varDir}/phpSessions
-          '';
+          '' + builtins.concatStringsSep "\n" (attrsets.mapAttrsToList (n: v: ''
+            install -m ${v} -o ${icfg.httpdUser} -g ${icfg.httpdGroup} -d ${icfg.varDir}/${n}
+            '') icfg.varDirPaths);
       }
     ) cfg.apps;
   };