about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/mail/dovecot.nix9
1 files changed, 3 insertions, 6 deletions
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index c034e5e04700c..974dfb708f1b5 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -135,7 +135,7 @@ in
       example = literalExample "[ pkgs.dovecot_pigeonhole ]";
       description = ''
         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
         pkgs.dovecot22, the default) is being used.
       '';
@@ -200,6 +200,8 @@ in
         gid = config.ids.gids.dovecot2;
       };
 
+    environment.etc."dovecot/modules".source = modulesDir;
+
     systemd.services.dovecot2 = {
       description = "Dovecot IMAP/POP3 server";
 
@@ -207,11 +209,6 @@ in
       wants = [ "keys.target" ];
       wantedBy = [ "multi-user.target" ];
 
-      preStart = ''
-        rm -f "${stateDir}/modules"
-        ln -s "${modulesDir}" "${stateDir}/modules"
-      '';
-
       serviceConfig = {
         ExecStart = "${dovecotPkg}/sbin/dovecot -F -c ${cfg.configFile}";
         ExecReload = "${dovecotPkg}/sbin/doveadm reload -c ${cfg.configFile}";