diff --git a/hosts/bekkalokk/configuration.nix b/hosts/bekkalokk/configuration.nix index 1c21b7b..e2d2891 100644 --- a/hosts/bekkalokk/configuration.nix +++ b/hosts/bekkalokk/configuration.nix @@ -13,6 +13,7 @@ # ./services/website.nix ./services/nginx.nix ./services/gitea/default.nix + ./services/webmail # ./services/mediawiki.nix ]; diff --git a/hosts/bekkalokk/services/webmail/default.nix b/hosts/bekkalokk/services/webmail/default.nix new file mode 100644 index 0000000..32b178e --- /dev/null +++ b/hosts/bekkalokk/services/webmail/default.nix @@ -0,0 +1,6 @@ +{ config, values, pkgs, ... }: +{ + imports = [ + ./roundcube.nix + ]; +} diff --git a/hosts/bekkalokk/services/webmail/roundcube.nix b/hosts/bekkalokk/services/webmail/roundcube.nix new file mode 100644 index 0000000..1c60ab5 --- /dev/null +++ b/hosts/bekkalokk/services/webmail/roundcube.nix @@ -0,0 +1,36 @@ +{ config, pkgs, lib, ... }: + +with lib; +let + cfg = config.services.roundcube; + domain = "webmail2.pvv.ntnu.no"; +in +{ + services.roundcube = { + enable = true; + package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login plugins.thunderbird_labels plugins.contextmenu plugins.custom_from]); + dicts = with pkgs.aspellDicts; [ en en-science en-computers nb nn fr de it]; + maxAttachmentSize = 20; + # this is the url of the vhost, not necessarily the same as the fqdn of + # the mailserver + hostName = domain; + + extraConfig = '' + # starttls needed for authentication, so the fqdn required to match + # the certificate + $config['enable_installer'] = false; + $config['default_host'] = "ssl://imap.pvv.ntnu.no"; + $config['default_port'] = 993; + $config['smtp_server'] = "tls://smtp.pvv.ntnu.no"; + $config['smtp_port'] = 25; + # $config['smtp_port'] = 465; + # $config['smtp_user'] = "%u@pvv.ntnu.no"; + $config['mail_domain'] = "pvv.ntnu.no"; + $config['smtp_user'] = "%u"; + # $config['smtp_pass'] = "%p"; + $config['support_url'] = ""; + ''; + }; + + networking.firewall.allowedTCPPorts = [ 80 443 ]; +}