From d260e95cb9fe5ca16beb2a0ab4b39ef91988cf15 Mon Sep 17 00:00:00 2001 From: Márton Boros Date: Thu, 12 Apr 2018 06:10:48 +0200 Subject: nixos/prosody: add user, group options --- nixos/modules/services/networking/prosody.nix | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'nixos/modules/services/networking') diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index f409962816dc..d8084ff2eed9 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; @@ -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,7 +506,8 @@ 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"; ExecStart = "${cfg.package}/bin/prosodyctl start"; -- cgit 1.4.1 From ec1419bad815fd7ffc54911239f39f3944c2d374 Mon Sep 17 00:00:00 2001 From: Márton Boros Date: Fri, 13 Apr 2018 11:38:52 +0200 Subject: nixos/prosody: fix pidfile path --- nixos/modules/services/networking/prosody.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'nixos/modules/services/networking') diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index d8084ff2eed9..1b4f81f6b56e 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -439,7 +439,7 @@ in environment.etc."prosody/prosody.cfg.lua".text = '' - pidfile = "${cfg.dataDir}/prosody.pid" + pidfile = "/run/prosody/prosody.pid" log = "*syslog" @@ -509,7 +509,8 @@ in 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"; }; }; -- cgit 1.4.1