diff options
author | Robert Schütz <rschuetz17@gmail.com> | 2018-04-13 11:55:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-13 11:55:10 +0200 |
commit | 3ea1f1dd8be7fa3ba014b66d3b32db61af308281 (patch) | |
tree | 2428aa7dea3308a5de157265ca7ec8108baeedcd /nixos | |
parent | f204bdf93d7bb073e10644be47ebb797ce836d19 (diff) | |
parent | ec1419bad815fd7ffc54911239f39f3944c2d374 (diff) | |
download | nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.tar nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.tar.gz nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.tar.bz2 nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.tar.lz nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.tar.xz nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.tar.zst nixlib-3ea1f1dd8be7fa3ba014b66d3b32db61af308281.zip |
Merge pull request #38820 from brainrape/nixos-prosody-add-user-group
nixos/prosody: add user/group options, fix pidfile path
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/networking/prosody.nix | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index f409962816dc..1b4f81f6b56e 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -301,6 +301,18 @@ in default = "/var/lib/prosody"; }; + user = mkOption { + type = types.str; + default = "prosody"; + description = "User account under which prosody runs."; + }; + + group = mkOption { + type = types.str; + default = "prosody"; + description = "Group account under which prosody runs."; + }; + allowRegistration = mkOption { type = types.bool; default = false; @@ -427,7 +439,7 @@ in environment.etc."prosody/prosody.cfg.lua".text = '' - pidfile = "${cfg.dataDir}/prosody.pid" + pidfile = "/run/prosody/prosody.pid" log = "*syslog" @@ -475,15 +487,15 @@ in '') cfg.virtualHosts) } ''; - users.extraUsers.prosody = { + users.extraUsers.prosody = mkIf (cfg.user == "prosody") { uid = config.ids.uids.prosody; description = "Prosody user"; createHome = true; - group = "prosody"; + inherit (cfg) group; home = "${cfg.dataDir}"; }; - users.extraGroups.prosody = { + users.extraGroups.prosody = mkIf (cfg.group == "prosody") { gid = config.ids.gids.prosody; }; @@ -494,9 +506,11 @@ in wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."prosody/prosody.cfg.lua".source ]; serviceConfig = { - User = "prosody"; + User = cfg.user; + Group = cfg.group; Type = "forking"; - PIDFile = "${cfg.dataDir}/prosody.pid"; + RuntimeDirectory = [ "prosody" ]; + PIDFile = "/run/prosody/prosody.pid"; ExecStart = "${cfg.package}/bin/prosodyctl start"; }; }; |