about summary refs log tree commit diff
path: root/nixos/modules/services/mail/opensmtpd.nix
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-11-14 12:32:51 -0800
committerWilliam A. Kennington III <william@wkennington.com>2015-11-14 12:32:51 -0800
commit6602f49495c94e8533c8b482698bcf570a8d8933 (patch)
tree07065424002052ed9e726b4feb689697845ff4a7 /nixos/modules/services/mail/opensmtpd.nix
parente4feccce818416c39c8e86e6f9ac01674ad98c88 (diff)
downloadnixlib-6602f49495c94e8533c8b482698bcf570a8d8933.tar
nixlib-6602f49495c94e8533c8b482698bcf570a8d8933.tar.gz
nixlib-6602f49495c94e8533c8b482698bcf570a8d8933.tar.bz2
nixlib-6602f49495c94e8533c8b482698bcf570a8d8933.tar.lz
nixlib-6602f49495c94e8533c8b482698bcf570a8d8933.tar.xz
nixlib-6602f49495c94e8533c8b482698bcf570a8d8933.tar.zst
nixlib-6602f49495c94e8533c8b482698bcf570a8d8933.zip
Revert "Revert "Merge pull request #9543 from NixOS/staging.post-15.06""
This reverts commit 741bf840dad05cd1728481045466811ae8ae8281.

This reverts the fallout from reverting the major changes.
Diffstat (limited to 'nixos/modules/services/mail/opensmtpd.nix')
-rw-r--r--nixos/modules/services/mail/opensmtpd.nix20
1 files changed, 19 insertions, 1 deletions
diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix
index a3e50b422920..a1cfd84365a2 100644
--- a/nixos/modules/services/mail/opensmtpd.nix
+++ b/nixos/modules/services/mail/opensmtpd.nix
@@ -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" {} ''