opensmtpd: support filters.
This commit is contained in:
@@ -46,6 +46,17 @@ in {
|
||||
is left empty, the OpenSMTPD server will not start.
|
||||
'';
|
||||
};
|
||||
|
||||
procPackages = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [];
|
||||
description = ''
|
||||
Packages to search for filters, tables, queues, and schedulers.
|
||||
|
||||
Add OpenSMTPD-extras here if you want to use the filters, etc. from
|
||||
that package.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -72,12 +83,19 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.opensmtpd = {
|
||||
systemd.services.opensmtpd = let
|
||||
procEnv = pkgs.buildEnv {
|
||||
name = "opensmtpd-procs";
|
||||
paths = [ opensmtpd ] ++ cfg.procPackages;
|
||||
pathsToLink = [ "/libexec/opensmtpd" ];
|
||||
};
|
||||
in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network.target" ];
|
||||
after = [ "network.target" ];
|
||||
preStart = "mkdir -p /var/spool";
|
||||
serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
|
||||
environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
|
||||
};
|
||||
|
||||
environment.systemPackages = [ (pkgs.runCommand "opensmtpd-sendmail" {} ''
|
||||
|
||||
Reference in New Issue
Block a user