nixos/modules/programs/email/default.nix

56 lines
1.4 KiB
Nix

{ config, inputs, lib, ... }:
let
cfg = config.programs.az-email;
in
{
options = {
programs.az-email.enable = lib.mkEnableOption "Configure everything required for sending emails.";
};
config = lib.mkIf cfg.enable {
age.secrets.personalEmailKey =
{
file = "${inputs.self}/scrts/personal_email.key.age";
mode = "600";
owner = config.az-username;
group = "users";
};
home-manager.users.${config.az-username} = {
accounts.email.accounts."personal" = {
address = "andreas@zweili.ch";
realName = "Andreas Zweili";
userName = "andreas@zweili.ch";
primary = true;
passwordCommand = "cat ${config.age.secrets.personalEmailKey.path}";
aliases = [
"andreas.zweili@gmail.com"
"andreas@2li.ch"
];
msmtp.enable = true;
mu.enable = true;
offlineimap = {
enable = true;
extraConfig = {
account = { autorefresh = 15; };
local = { sync_deletes = true; };
};
};
imap = {
host = "mail.zweili.org";
port = 993;
tls.enable = true;
};
smtp = {
host = "mail.zweili.org";
port = 465;
tls.enable = true;
};
};
programs.mu.enable = true;
programs.offlineimap.enable = true;
programs.msmtp.enable = true;
};
};
}