summaryrefslogtreecommitdiff
path: root/Omni/Cloud/Mail.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2024-11-15 14:55:37 -0500
committerBen Sima <ben@bsima.me>2024-12-21 10:06:49 -0500
commit6513755670892983db88a6633b8c1ea6019c03d1 (patch)
tree44e9eccdb7a3a74ab7e96a8fee7572dd6a78dc73 /Omni/Cloud/Mail.nix
parentae7b7e0186b5f2e0dcd4d5fac0a71fa264caedc2 (diff)
Re-namespace some stuff to Omni
I was getting confused about what is a product and what is internal infrastructure; I think it is good to keep those things separate. So I moved a bunch of stuff to an Omni namespace, actually most stuff went there. Only things that are explicitly external products are still in the Biz namespace.
Diffstat (limited to 'Omni/Cloud/Mail.nix')
-rw-r--r--Omni/Cloud/Mail.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/Omni/Cloud/Mail.nix b/Omni/Cloud/Mail.nix
new file mode 100644
index 0000000..fa99cf3
--- /dev/null
+++ b/Omni/Cloud/Mail.nix
@@ -0,0 +1,54 @@
+{ ... }:
+
+/* Known issues:
+
+ - when the acme cert gets refreshed, you need to manually restart dovecot
+ - when restarting dovecot, it might hang, in that case do:
+ systemctl --job-mode=ignore-dependencies restart dovecot2 postfix
+*/
+
+{
+ mailserver = {
+ enable = true;
+ monitoring = {
+ enable = false;
+ alertAddress = "bsima@me.com";
+ };
+ fqdn = "simatime.com";
+ domains = [ "simatime.com" "bsima.me" ];
+ certificateScheme = 3; # let's encrypt
+ enableImap = true;
+ enablePop3 = true;
+ enableImapSsl = true;
+ enablePop3Ssl = true;
+ enableManageSieve = true;
+ virusScanning = false; # ur on ur own
+ localDnsResolver = true;
+
+ loginAccounts = {
+ "ben@simatime.com" = {
+ hashedPasswordFile = "/home/ben/hashed-mail-password";
+ aliases = [
+ # my default email
+ "ben@bsima.me"
+ # admin stuff
+ "postmaster@simatime.com"
+ "abuse@simatime.com"
+ ];
+ catchAll = [ "simatime.com" "bsima.me" ];
+ quota = "10G";
+ };
+ "dev@simatime.com" = {
+ hashedPasswordFile = "/home/ben/hashed-mail-password";
+ aliases = [ "dev@bsima.me" ];
+ quota = "10G";
+ };
+ "nick@simatime.com" = {
+ hashedPassword =
+ "$6$31P/Mg8k8Pezy1e$Fn1tDyssf.1EgxmLYFsQpSq6RP4wbEvP/UlBlXQhyKA9FnmFtJteXsbJM1naa8Kyylo8vZM9zmeoSthHS1slA1";
+ aliases = [ "nicolai@simatime.com" ];
+ quota = "1G";
+ };
+ };
+ };
+}