summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2018-06-18 16:42:58 +0800
committerGitHub <noreply@github.com>2018-06-18 16:42:58 +0800
commit2f907d5ba194063d7648bd606f0ca45b4df883cc (patch)
tree009b3f4d740455bc28adc93eda6e06621a1403cd /nixos
parent8c5ccc935f2b08456c4dea13f8c09da3c442640e (diff)
parentbb08686f1e3c274979f842e8d405e381b1e41658 (diff)
downloadnixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.tar
nixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.tar.gz
nixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.tar.bz2
nixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.tar.lz
nixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.tar.xz
nixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.tar.zst
nixpkgs-2f907d5ba194063d7648bd606f0ca45b4df883cc.zip
Merge pull request #42153 from Ekleog/opensmtpd-changeable-package
opensmtpd module: allow changing the package
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/mail/opensmtpd.nix13
1 files changed, 10 insertions, 3 deletions
diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix
index 53acdba4245..f9b890532ce 100644
--- a/nixos/modules/services/mail/opensmtpd.nix
+++ b/nixos/modules/services/mail/opensmtpd.nix
@@ -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";
     };