about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2019-08-02 20:56:13 -0400
committerAaron Andersen <aaron@fosslib.net>2019-08-23 07:56:27 -0400
commita30a1e27953320f07f3db3589fd50c282689d683 (patch)
tree63a3e1bcbb20c9c2857d2cd3edf7b385c7a85cd1
parent62b774a7001f0d1d89d7ba6552c37b885c0189b7 (diff)
nixos/phpfpm: add user and group option to each pool
-rw-r--r--nixos/modules/services/web-apps/limesurvey.nix3
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix17
2 files changed, 16 insertions, 4 deletions
diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix
index 0449b9dfd41a0..a407ba875f2fc 100644
--- a/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixos/modules/services/web-apps/limesurvey.nix
@@ -203,11 +203,10 @@ in
     };
 
     services.phpfpm.pools.limesurvey = {
+      inherit user group;
       extraConfig = ''
         listen.owner = ${config.services.httpd.user};
         listen.group = ${config.services.httpd.group};
-        user = ${user};
-        group = ${group};
 
         env[LIMESURVEY_CONFIG] = ${limesurveyConfig}
 
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index 75913640d72ee..385dbb9b62ece 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -15,6 +15,8 @@ let
 
     [${pool}]
     listen = ${poolOpts.socket}
+    user = ${poolOpts.user}
+    group = ${poolOpts.group}
     ${poolOpts.extraConfig}
   '';
 
@@ -71,10 +73,19 @@ let
           '';
         };
 
+        user = mkOption {
+          type = types.str;
+          description = "User account under which this pool runs.";
+        };
+
+        group = mkOption {
+          type = types.str;
+          description = "Group account under which this pool runs.";
+        };
+
         extraConfig = mkOption {
           type = types.lines;
           example = ''
-            user = nobody
             pm = dynamic
             pm.max_children = 75
             pm.start_servers = 10
@@ -93,6 +104,7 @@ let
 
       config = {
         socket = if poolOpts.listen == "" then "${stateDir}/${name}.sock" else poolOpts.listen;
+        group = mkDefault poolOpts.user;
       };
     };
 
@@ -138,9 +150,10 @@ in {
         example = literalExample ''
          {
            mypool = {
+             user = "php";
+             group = "php";
              phpPackage = pkgs.php;
              extraConfig = '''
-               user = nobody
                pm = dynamic
                pm.max_children = 75
                pm.start_servers = 10