opensmtpd module: allow changing the package

(cherry picked from commit bb08686f1e3c274979f842e8d405e381b1e41658)
release-18.03-flake
Léo Gaspard 2018-06-18 09:46:47 +02:00 committed by adisbladis
parent c11bc93fb0
commit 989884026b
No known key found for this signature in database
GPG Key ID: ED58F95069B004F5
1 changed files with 10 additions and 3 deletions

View File

@ -10,7 +10,7 @@ let
sendmail = pkgs.runCommand "opensmtpd-sendmail" {} ''
mkdir -p $out/bin
ln -s ${pkgs.opensmtpd}/sbin/smtpctl $out/bin/sendmail
ln -s ${cfg.package}/sbin/smtpctl $out/bin/sendmail
'';
in {
@ -27,6 +27,13 @@ in {
description = "Whether to enable the OpenSMTPD server.";
};
package = mkOption {
type = types.package;
default = pkgs.opensmtpd;
defaultText = "pkgs.opensmtpd";
description = "The OpenSMTPD package to use.";
};
addSendmailToSystemPath = mkOption {
type = types.bool;
default = true;
@ -97,7 +104,7 @@ in {
systemd.services.opensmtpd = let
procEnv = pkgs.buildEnv {
name = "opensmtpd-procs";
paths = [ pkgs.opensmtpd ] ++ cfg.procPackages;
paths = [ cfg.package ] ++ cfg.procPackages;
pathsToLink = [ "/libexec/opensmtpd" ];
};
in {
@ -115,7 +122,7 @@ in {
chown smtpq.root /var/spool/smtpd/purge
chmod 700 /var/spool/smtpd/purge
'';
serviceConfig.ExecStart = "${pkgs.opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}";
environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
};