X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=modules%2Fprivate%2Fmail%2Frspamd.nix;h=5e0a2392a08b4fd2cb74e9d9075fa9da49e101c1;hp=af3541f370101b2f932cfeecea64201c04e3308b;hb=8415083eb6acc343dfa404dbbc12fa0171a48a20;hpb=8fa7ff2c63fb0722144bc90837512d9f8b8c929d diff --git a/modules/private/mail/rspamd.nix b/modules/private/mail/rspamd.nix index af3541f..5e0a239 100644 --- a/modules/private/mail/rspamd.nix +++ b/modules/private/mail/rspamd.nix @@ -10,78 +10,80 @@ rspamd sockets ''; }; - config.services.backup.profiles.mail.excludeFile = '' - + /var/lib/rspamd - ''; - config.services.cron.systemCronJobs = let - cron_script = pkgs.runCommand "cron_script" { - buildInputs = [ pkgs.makeWrapper ]; - } '' - mkdir -p $out - cp ${./scan_reported_mails} $out/scan_reported_mails - patchShebangs $out - for i in $out/*; do - wrapProgram "$i" --prefix PATH : ${lib.makeBinPath [ pkgs.coreutils pkgs.rspamd pkgs.flock ]} - done + config = lib.mkIf config.myServices.mail.enable { + services.backup.profiles.mail.excludeFile = '' + + /var/lib/rspamd ''; - in - [ "*/20 * * * * vhost ${cron_script}/scan_reported_mails" ]; - - config.services.rspamd = { - enable = true; - debug = true; - overrides = { - "actions.conf".text = '' - reject = null; - add_header = 6; - greylist = null; + services.cron.systemCronJobs = let + cron_script = pkgs.runCommand "cron_script" { + buildInputs = [ pkgs.makeWrapper ]; + } '' + mkdir -p $out + cp ${./scan_reported_mails} $out/scan_reported_mails + patchShebangs $out + for i in $out/*; do + wrapProgram "$i" --prefix PATH : ${lib.makeBinPath [ pkgs.coreutils pkgs.rspamd pkgs.flock ]} + done ''; - "milter_headers.conf".text = '' - extended_spam_headers = true; - ''; - }; - locals = { - "redis.conf".text = '' - servers = "${myconfig.env.mail.rspamd.redis.socket}"; - db = "${myconfig.env.mail.rspamd.redis.db}"; + in + [ "*/20 * * * * vhost ${cron_script}/scan_reported_mails" ]; + + services.rspamd = { + enable = true; + debug = true; + overrides = { + "actions.conf".text = '' + reject = null; + add_header = 6; + greylist = null; + ''; + "milter_headers.conf".text = '' + extended_spam_headers = true; ''; - "classifier-bayes.conf".text = '' - users_enabled = true; - backend = "redis"; - servers = "${myconfig.env.mail.rspamd.redis.socket}"; - database = "${myconfig.env.mail.rspamd.redis.db}"; - autolearn = true; - cache { + }; + locals = { + "redis.conf".text = '' + servers = "${myconfig.env.mail.rspamd.redis.socket}"; + db = "${myconfig.env.mail.rspamd.redis.db}"; + ''; + "classifier-bayes.conf".text = '' + users_enabled = true; backend = "redis"; - } - new_schema = true; - statfile { - BAYES_HAM { - spam = false; + servers = "${myconfig.env.mail.rspamd.redis.socket}"; + database = "${myconfig.env.mail.rspamd.redis.db}"; + autolearn = true; + cache { + backend = "redis"; } - BAYES_SPAM { - spam = true; + new_schema = true; + statfile { + BAYES_HAM { + spam = false; + } + BAYES_SPAM { + spam = true; + } } - } - ''; - }; - workers = { - controller = { - extraConfig = '' - enable_password = "${myconfig.env.mail.rspamd.write_password_hashed}"; - password = "${myconfig.env.mail.rspamd.read_password_hashed}"; - ''; - bindSockets = [ { - socket = config.myServices.mail.rspamd.sockets.worker-controller; - mode = "0660"; - owner = config.services.rspamd.user; - group = "vhost"; - } ]; + ''; + }; + workers = { + controller = { + extraConfig = '' + enable_password = "${myconfig.env.mail.rspamd.write_password_hashed}"; + password = "${myconfig.env.mail.rspamd.read_password_hashed}"; + ''; + bindSockets = [ { + socket = config.myServices.mail.rspamd.sockets.worker-controller; + mode = "0660"; + owner = config.services.rspamd.user; + group = "vhost"; + } ]; + }; + }; + postfix = { + enable = true; + config = {}; }; - }; - postfix = { - enable = true; - config = {}; }; }; }