{
  config,
  pkgs,
  lib,
  ...
}:
let
  inherit (config.machine.roundcube)
    enable
    domain
    ;
in
with lib;
mkIf enable {
  services.roundcube = {
    inherit enable;
    dicts = with pkgs.aspellDicts; [
      ru
      en
      fr
    ];
    hostName = domain;
    configureNginx = true;
    extraConfig = ''
      // IMAP
      $config['imap_host'] = 'ssl://${config.mailserver.fqdn}';
      $config['imap_conn_options'] = array(
          'ssl' => array(
              'verify_peer' => false,
              'verify_peer_name' => false,
          ),
      );

      // SMTP
      $config['smtp_host'] = 'ssl://${config.mailserver.fqdn}:465';
      $config['smtp_conn_options'] = array(
          'ssl' => array(
              'verify_peer' => false,
              'verify_peer_name' => false,
          ),
      );
      $config['smtp_user'] = '%u';
      $config['smtp_pass'] = '%p';
    '';
  };
}
