---
dovecot:
  pkgs:
    - dovecot-sieve
    - dovecot-imapd
    - dovecot-lmtpd
    - dovecot-pgsql
  imap_user: vmail
  imap_user_id: 2020
  config_dir: /etc/dovecot
  config:
    main: {}
    confd:
      10-auth.conf:
        disable_plaintext_auth: "no"
        auth_mechanisms: "plain login"
        includes: []
      10-mail.conf:
        mail_location: maildir:~/
        namespace inbox:
          inbox: "yes"
          list: "yes"
          subscriptions: "yes"
          mailbox Trash:
            auto: "no"
            special_use: \Trash
          mailbox Drafts:
            auto: "no"
            special_use: "Drafts"
          mailbox Sent:
            auto: subscribe
            special_use: \Sent
          mailbox "Sent Messages":
            auto: "no"
            special_use: \Sent
          mailbox Junk:
            auto: "create"
            special_use: \Junk
          mailbox virtual/All:
            auto: "no"
            special_use: \All
        mail_uid: vmail
        mail_gid: vmail
        mail_plugins: $mail_plugins quota fts
      10-ssl.conf:
        ssl: "yes"
        ssl_key: </etc/ssl/keys/example.com.key
        ssl_cert: </etc/ssl/certs/example.com.cert
        ssl_dh: </etc/dovecot/dh.pem
        ssl_min_protocol: TLSv1
        ssl_cipher_list: EECDH+AESGCM:EECDH+CHACHA20:EECDH+AES:DHE-RSA-AES256-SHA
        # ssl_crypto_device: devcrypto
      10-logging.conf:
        auth_verbose: "yes"
      10-master.conf:
        default_process_limit: 100
        default_client_limit: 400
        service imap-login:
          inet_listener imap:
            port: 143
          inet_listener imaps:
            port: 993
            ssl: "yes"
          service_count: 1
        service pop3-login:
          inet_listener pop3:
            port: 110
          inet_listener pop3s:
            port: 995
            ssl: "yes"
        service lmtp:
          unix_listener lmtp:
        service imap:
          process_limit: 1024
          executable: imap
        service imap-postlogin: {}
        service pop3: {}
        service auth:
          unix_listener auth-userdb:
            mode: 0644
            user: vmail
            group: vmail
          unix_listener auth-master:
            mode: 0644
            user: vmail
            group: vmail
          unix_listener /var/spool/postfix/private/auth:
            mode: 0666
            user: postfix
            group: postfix
        service auth-worker: {}
        service dict:
          unix_listener dict: {}
      15-lda.conf:
        hostname: host.example.com
        sendmail_path: /usr/sbin/sendmail
        lda_mailbox_autocreate: 'yes'
        lda_mailbox_autosubscribe: 'yes'
        protocol lda:
          mail_plugins: $mail_plugins autocreate sieve quota
          postmaster_address: postmaster@example.com
          hostname: host.example.com
          auth_socket_path: /var/run/dovecot/auth-master
          log_path: /var/log/dovecot-lda-errors.log
          info_log_path: /var/log/dovecot-lda.log
      15-mailboxes.conf:
        namespace inbox:
          mailbox Drafts:
            special_use: \Drafts
          mailbox Junk:
            special_use: \Junk
          mailbox Trash:
            special_use: \Trash
          mailbox Sent:
            special_use: \Sent
          mailbox "Sent Messages":
            special_use: \Sent
      20-imap.conf:
        protocol imap:
          mail_plugins: $mail_plugins imap_quota
      20-lmtp.conf:
        protocol lmtp:
          postmaster_address: postmaster@example.com
          mail_plugins: $mail_plugins autocreate sieve quota
          log_path: /var/log/dovecot-lmtp-errors.log
          info_log_path: /var/log/dovecot-lmtp.log
      20-submission:
        protocol submission: {}
      90-imapsieve.conf:
        plugin: {}
      90-plugin.conf:
        plugin: {}
      90-quota.conf:
        plugin: {}
      auth-sql.conf.ext:
        passdb: {}
        userdb: {}