summary refs log tree commit diff
path: root/nixos/modules/services/web-servers
diff options
context:
space:
mode:
authorJonas Heinrich <onny@project-insanity.org>2021-05-11 23:45:22 +0200
committerJonas Heinrich <onny@project-insanity.org>2021-05-15 10:32:49 +0200
commitfff9cf00fd1cb7e0c7646683ba719304a3cac710 (patch)
tree045576f5ce0fc46e52a8029e7309f3e51018b978 /nixos/modules/services/web-servers
parent85784a66c8848de93c6ee3d0fb47ec425491f404 (diff)
downloadnixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.tar
nixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.tar.gz
nixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.tar.bz2
nixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.tar.lz
nixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.tar.xz
nixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.tar.zst
nixpkgs-fff9cf00fd1cb7e0c7646683ba719304a3cac710.zip
caddy: support user and group options
Diffstat (limited to 'nixos/modules/services/web-servers')
-rw-r--r--nixos/modules/services/web-servers/caddy.nix33
1 files changed, 25 insertions, 8 deletions
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index 6ecfc113ca2..955b9756406 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -63,6 +63,18 @@ in {
       '';
     };
 
+    user = mkOption {
+      default = "caddy";
+      type = types.str;
+      description = "User account under which caddy runs.";
+    };
+
+    group = mkOption {
+      default = "caddy";
+      type = types.str;
+      description = "Group account under which caddy runs.";
+    };
+
     adapter = mkOption {
       default = "caddyfile";
       example = "nginx";
@@ -123,8 +135,8 @@ in {
         ExecStart = "${cfg.package}/bin/caddy run --config ${configJSON}";
         ExecReload = "${cfg.package}/bin/caddy reload --config ${configJSON}";
         Type = "simple";
-        User = "caddy";
-        Group = "caddy";
+        User = cfg.user;
+        Group = cfg.group;
         Restart = "on-abnormal";
         AmbientCapabilities = "cap_net_bind_service";
         CapabilityBoundingSet = "cap_net_bind_service";
@@ -142,13 +154,18 @@ in {
       };
     };
 
-    users.users.caddy = {
-      group = "caddy";
-      uid = config.ids.uids.caddy;
-      home = cfg.dataDir;
-      createHome = true;
+    users.users = optionalAttrs (cfg.user == "caddy") {
+      caddy = {
+        group = cfg.group;
+        uid = config.ids.uids.caddy;
+        home = cfg.dataDir;
+        createHome = true;
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == "caddy") {
+      caddy.gid = config.ids.gids.caddy;
     };
 
-    users.groups.caddy.gid = config.ids.uids.caddy;
   };
 }