From 187a20201a5f99c6d22da0b2d8177dcfbb99bcc8 Mon Sep 17 00:00:00 2001 From: Fabian Montero Date: Thu, 21 Nov 2024 18:03:51 -0600 Subject: [PATCH] vps: add roundcube --- sys/platforms/vps/srv/default.nix | 1 + sys/platforms/vps/srv/roundcube.nix | 62 +++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 sys/platforms/vps/srv/roundcube.nix diff --git a/sys/platforms/vps/srv/default.nix b/sys/platforms/vps/srv/default.nix index ead3824..65bffff 100644 --- a/sys/platforms/vps/srv/default.nix +++ b/sys/platforms/vps/srv/default.nix @@ -21,5 +21,6 @@ with lib; { ./paperless.nix ./trilium.nix ./firefly.nix + ./roundcube.nix ]; } diff --git a/sys/platforms/vps/srv/roundcube.nix b/sys/platforms/vps/srv/roundcube.nix new file mode 100644 index 0000000..db156bb --- /dev/null +++ b/sys/platforms/vps/srv/roundcube.nix @@ -0,0 +1,62 @@ +{ + lib, + pkgs, + ... +}: +with lib; { + services = { + nginx = { + virtualHosts."mail.posixlycorrect.com" = { + enableACME = true; + forceSSL = true; + extraConfig = '' + proxy_headers_hash_max_size 512; + proxy_headers_hash_bucket_size 128; + ''; + }; + }; + + roundcube = { + enable = true; + hostName = "mail.posixlycorrect.com"; + configureNginx = true; + maxAttachmentSize = 2048; #MB + package = pkgs.roundcube.withPlugins (plugins: [ + #plugins.carddav + plugins.contextmenu + plugins.custom_from + plugins.persistent_login + ]); + plugins = [ + "archive" + "attachment_reminder" + #"carddav" + "contextmenu" + "custom_from" + "emoticons" + #"enigma" + "hide_blockquote" + "managesieve" + "markasjunk" + "newmail_notifier" + "password" + "persistent_login" + "reconnect" + "show_additional_headers" + "userinfo" + "vcard_attachments" + "zipdownload" + ]; + dicts = with pkgs.aspellDicts; [ + es + en + ]; + extraConfig = '' + $config['smtp_host'] = "ssl://smtp.fastmail.com:465"; + $config['smtp_user'] = "%u"; + $config['smtp_pass'] = "%p"; + $config['imap_host'] = "ssl://imap.fastmail.com:993"; + ''; + }; + }; +}