diff options
author | pacien <pacien.trangirard@pacien.net> | 2018-09-16 15:19:29 +0200 |
---|---|---|
committer | pacien <pacien.trangirard@pacien.net> | 2018-09-16 15:19:29 +0200 |
commit | d73ed4264f48da098e782c0e204ae4ce613801e5 (patch) | |
tree | 2f2c6e61560e29789a5155b3393554539d2f79cb /nixos | |
parent | d499b7d821106964581cbb6eab5354fbdf7a6847 (diff) |
exim: parametrise package
This allows the definition of a custom derivation of Exim, which can be used to enable custom features such as LDAP and PAM support. The default behaviour remains unchanged (defaulting to pkgs.exim).
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/mail/exim.nix | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix index 06c4b2811b3fc..c05811291359e 100644 --- a/nixos/modules/services/mail/exim.nix +++ b/nixos/modules/services/mail/exim.nix @@ -2,7 +2,7 @@ let inherit (lib) mkIf mkOption singleton types; - inherit (pkgs) coreutils exim; + inherit (pkgs) coreutils; cfg = config.services.exim; in @@ -57,6 +57,16 @@ in ''; }; + package = mkOption { + type = types.package; + default = pkgs.exim; + defaultText = "pkgs.exim"; + description = '' + The Exim derivation to use. + This can be used to enable features such as LDAP or PAM support. + ''; + }; + }; }; @@ -74,7 +84,7 @@ in spool_directory = ${cfg.spoolDir} ${cfg.config} ''; - systemPackages = [ exim ]; + systemPackages = [ cfg.package ]; }; users.users = singleton { @@ -89,14 +99,14 @@ in gid = config.ids.gids.exim; }; - security.wrappers.exim.source = "${exim}/bin/exim"; + security.wrappers.exim.source = "${cfg.package}/bin/exim"; systemd.services.exim = { description = "Exim Mail Daemon"; wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."exim.conf".source ]; serviceConfig = { - ExecStart = "${exim}/bin/exim -bdf -q30m"; + ExecStart = "${cfg.package}/bin/exim -bdf -q30m"; ExecReload = "${coreutils}/bin/kill -HUP $MAINPID"; }; preStart = '' |