diff --git a/modules/misc/ids.nix b/modules/misc/ids.nix index ca5d2051af2..dbecaf802a1 100644 --- a/modules/misc/ids.nix +++ b/modules/misc/ids.nix @@ -126,6 +126,7 @@ in clamav = 51; fprot = 52; wwwrun = 54; + spamd = 55; networkmanager = 56; # When adding a gid, make sure it doesn't match an existing uid. diff --git a/modules/services/mail/spamassassin.nix b/modules/services/mail/spamassassin.nix index 9e378ab0f20..d4dbe8ddbd0 100644 --- a/modules/services/mail/spamassassin.nix +++ b/modules/services/mail/spamassassin.nix @@ -38,17 +38,23 @@ in # Allow users to run 'spamc'. environment.systemPackages = [ pkgs.spamassassin ]; - users.extraUsers = singleton - { name = "spamd"; - description = "Spam Assassin Daemon"; - uid = config.ids.uids.spamd; - }; + users.extraUsers = singleton { + name = "spamd"; + description = "Spam Assassin Daemon"; + uid = config.ids.uids.spamd; + group = "spamd"; + }; + + users.extraGroups = singleton { + name = "spamd"; + gid = config.ids.gids.spamd; + }; jobs.spamd = { description = "Spam Assassin Server"; startOn = "started networking and filesystem"; environment.TZ = config.time.timeZone; - exec = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --pidfile=/var/run/spamd.pid"; + exec = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --nouser-config --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/var/run/spamd.pid"; }; };