smallest change
This commit is contained in:
parent
4cca1dc327
commit
9c83ba6849
77 changed files with 36828 additions and 1516 deletions
87
modules/nixos/services/mail/default.nix
Normal file
87
modules/nixos/services/mail/default.nix
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.custom; let
|
||||
cfg = config.services.mail;
|
||||
|
||||
sec = config.age.secrets;
|
||||
in {
|
||||
options.services.mail = with types; {
|
||||
enable = mkBoolOpt false "Enable Simple Nixos Mailserver";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
age.secrets = {
|
||||
webmaster-pw = {
|
||||
file = ./sec/webmaster-pw.age;
|
||||
};
|
||||
zoeycomputer-pw = {
|
||||
file = ./sec/zoey-zoeycomputer-pw.age;
|
||||
};
|
||||
zmio-pw = {
|
||||
file = ./sec/zmio-pw.age;
|
||||
};
|
||||
zach-pw.file = ./sec/zach-pw.age;
|
||||
emily-pw.file = ./sec/emily-piccat.age;
|
||||
};
|
||||
|
||||
mailserver = {
|
||||
enable = true;
|
||||
fqdn = "mail.zoeys.email";
|
||||
domains = ["zoeys.email" "zoeys.cloud" "zoeys.computer" "zackmyers.io" "zacharymyers.com" "pictureofcat.com"];
|
||||
|
||||
loginAccounts = {
|
||||
"zoey@zoeys.email" = {
|
||||
hashedPasswordFile = sec.webmaster-pw.path;
|
||||
aliases = ["zoey@zoeys.cloud" "postmaster@zoeys.email" "abuse@zoeys.email"];
|
||||
};
|
||||
"hi@zoeys.computer" = {
|
||||
hashedPasswordFile = sec.zoeycomputer-pw.path;
|
||||
aliases = ["spam@zoeys.computer"];
|
||||
};
|
||||
"me@zackmyers.io" = {
|
||||
hashedPasswordFile = sec.zmio-pw.path;
|
||||
aliases = ["zach@zacharymyers.com" "zack@zacharymyers.com"];
|
||||
};
|
||||
"gf@zackmyers.io" = {
|
||||
hashedPasswordFile = sec.emily-pw.path;
|
||||
aliases = ["emily@pictureofcat.com"];
|
||||
};
|
||||
};
|
||||
|
||||
certificateScheme = "acme-nginx";
|
||||
virusScanning = true;
|
||||
};
|
||||
|
||||
# services.nginx = {
|
||||
# virtualHosts = {
|
||||
# "cal.zoeys.cloud" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://localhost:5232/";
|
||||
# extraConfig = ''
|
||||
# proxy_set_header X-Script-Name /;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# proxy_pass_header Authorization;
|
||||
# '';
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
services.roundcube = {
|
||||
enable = true;
|
||||
hostName = "zoeys.email";
|
||||
extraConfig = ''
|
||||
$config['smtp_server'] = "tls://${config.mailserver.fqdn}";
|
||||
$config['smtp_user'] = "%u";
|
||||
$config['smtp_pass'] = "%p";
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue