diff options
author | Jonas Heinrich <onny@project-insanity.org> | 2021-05-11 23:45:22 +0200 |
---|---|---|
committer | Jonas Heinrich <onny@project-insanity.org> | 2021-05-15 10:32:49 +0200 |
commit | fff9cf00fd1cb7e0c7646683ba719304a3cac710 (patch) | |
tree | 045576f5ce0fc46e52a8029e7309f3e51018b978 /nixos/modules/services/web-servers | |
parent | 85784a66c8848de93c6ee3d0fb47ec425491f404 (diff) | |
download | nixpkgs-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.nix | 33 |
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; }; } |