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/prosody.nix') 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