nixos/dovecot: use new modules directory

This commit is contained in:
Nikolay Amiantov 2016-01-10 07:00:34 +03:00
parent 94a43b41af
commit 70e77f9b53

View File

@ -135,7 +135,7 @@ in
example = literalExample "[ pkgs.dovecot_pigeonhole ]"; example = literalExample "[ pkgs.dovecot_pigeonhole ]";
description = '' description = ''
Symlinks the contents of lib/dovecot of every given package into Symlinks the contents of lib/dovecot of every given package into
/var/lib/dovecot/modules. This will make the given modules available /etc/dovecot/modules. This will make the given modules available
if a dovecot package with the module_dir patch applied (like if a dovecot package with the module_dir patch applied (like
pkgs.dovecot22, the default) is being used. pkgs.dovecot22, the default) is being used.
''; '';
@ -200,6 +200,8 @@ in
gid = config.ids.gids.dovecot2; gid = config.ids.gids.dovecot2;
}; };
environment.etc."dovecot/modules".source = modulesDir;
systemd.services.dovecot2 = { systemd.services.dovecot2 = {
description = "Dovecot IMAP/POP3 server"; description = "Dovecot IMAP/POP3 server";
@ -207,11 +209,6 @@ in
wants = [ "keys.target" ]; wants = [ "keys.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
preStart = ''
rm -f "${stateDir}/modules"
ln -s "${modulesDir}" "${stateDir}/modules"
'';
serviceConfig = { serviceConfig = {
ExecStart = "${dovecotPkg}/sbin/dovecot -F -c ${cfg.configFile}"; ExecStart = "${dovecotPkg}/sbin/dovecot -F -c ${cfg.configFile}";
ExecReload = "${dovecotPkg}/sbin/doveadm reload -c ${cfg.configFile}"; ExecReload = "${dovecotPkg}/sbin/doveadm reload -c ${cfg.configFile}";