diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-12-24 22:15:05 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-01-30 00:47:10 +0000 |
commit | 85a9743f135b3687281efc5881baaab8ca2a8e09 (patch) | |
tree | c81c855079b4d9f56c4d564011f02555458b640a /nixos/modules/services/mail/spamassassin.nix | |
parent | a8ea4f0d33fb655e32a9cd66d6c1e7542d9c536e (diff) | |
download | nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.tar nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.tar.gz nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.tar.bz2 nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.tar.lz nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.tar.xz nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.tar.zst nixpkgs-85a9743f135b3687281efc5881baaab8ca2a8e09.zip |
spamassassin: use /etc/mail/spamassassin for config
Using a custom path in the Nix store meant that users of the module couldn't add their own config files, which is a desirable feature. I don't think avoiding /etc buys us anything.
Diffstat (limited to 'nixos/modules/services/mail/spamassassin.nix')
-rw-r--r-- | nixos/modules/services/mail/spamassassin.nix | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix index 75442c7cdb5..2d5fb40fad3 100644 --- a/nixos/modules/services/mail/spamassassin.nix +++ b/nixos/modules/services/mail/spamassassin.nix @@ -6,15 +6,6 @@ let cfg = config.services.spamassassin; spamassassin-local-cf = pkgs.writeText "local.cf" cfg.config; - spamdEnv = pkgs.buildEnv { - name = "spamd-env"; - paths = []; - postBuild = '' - ln -sf ${spamassassin-init-pre} $out/init.pre - ln -sf ${spamassassin-local-cf} $out/local.cf - ''; - }; - in { @@ -120,13 +111,11 @@ in }; config = mkIf cfg.enable { + environment.etc."mail/spamassassin/init.pre".source = cfg.initPreConf; + environment.etc."mail/spamassassin/local.cf".source = spamassassin-local-cf; # Allow users to run 'spamc'. - - environment = { - etc.spamassassin.source = spamdEnv; - systemPackages = [ pkgs.spamassassin ]; - }; + environment.systemPackages = [ pkgs.spamassassin ]; users.users.spamd = { description = "Spam Assassin Daemon"; @@ -141,7 +130,7 @@ in systemd.services.sa-update = { script = '' set +e - ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/ --siteconfigpath=${spamdEnv}/" spamd + ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/" spamd v=$? set -e @@ -172,7 +161,7 @@ in after = [ "network.target" ]; serviceConfig = { - ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --siteconfigpath=${spamdEnv} --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid"; + ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; @@ -183,7 +172,7 @@ in mkdir -p /var/lib/spamassassin chown spamd:spamd /var/lib/spamassassin -R set +e - ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/ --siteconfigpath=${spamdEnv}/" spamd + ${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/" spamd v=$? set -e if [ $v -gt 1 ]; then |