anchor.diff:          default = "";
           example = "mail_debug = yes";
           description = "Additional entries to put verbatim into Dovecot's config file.";
  +      };
  +
  +      configFile = mkOption {
  +        default = null;
  +        description = "Config file used for the whole dovecot configuration.";
  +        apply = v: if v != null then v else pkgs.writeText "dovecot.conf" dovecotConf;
         };
   
         mailLocation = mkOption {
  
positive.code:       pop3_uidl_format = %08Xv%08Xu
      '' + cfg.extraConfig;
  
    confFile = pkgs.writeText "dovecot.conf" dovecotConf;
  
  in
  
  {
  
negative.code:         gid = config.ids.gids.dovecot2;
        };
  
      systemd.services.dovecot2 =
        { description = "Dovecot IMAP/POP3 server";
  
          after = [ "network.target" ];
          wantedBy = [ "multi-user.target" ];
  
          preStart =
            ''
  