Refractor to dendritic approach.
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
{...}: {
|
||||
config.flake.modules.homeManager.mail = {
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
default_account_params = {
|
||||
realName = "Aner Zakobar";
|
||||
notmuch.enable = true;
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
};
|
||||
};
|
||||
default_gmail_params =
|
||||
default_account_params
|
||||
// {
|
||||
flavor = "gmail.com";
|
||||
};
|
||||
default_smtp = {
|
||||
tls = {
|
||||
enable = true;
|
||||
certificatesFile = "/etc/ssl/certs/ca-certificates.crt";
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.azos.mail.enable = lib.mkOption {
|
||||
default = true;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
config = lib.mkIf config.azos.mail.enable {
|
||||
programs = {
|
||||
notmuch = {
|
||||
enable = true;
|
||||
hooks = {preNew = "mbsync -a";};
|
||||
};
|
||||
mbsync.enable = true;
|
||||
msmtp.enable = true;
|
||||
lieer.enable = true;
|
||||
};
|
||||
services.lieer.enable = true;
|
||||
accounts.email.accounts = {
|
||||
gmail =
|
||||
default_gmail_params
|
||||
// {
|
||||
address = "anerisgreat@gmail.com";
|
||||
userName = "anerisgreat";
|
||||
passwordCommand = "pass gmail.com/mbsync-anerisgreat";
|
||||
};
|
||||
bgu =
|
||||
default_gmail_params
|
||||
// {
|
||||
address = "anerz@post.bgu.ac.il";
|
||||
userName = "anerz@post.bgu.ac.il";
|
||||
passwordCommand = "pass post.bgu.ac.il/mbsync-anerz";
|
||||
};
|
||||
zakobar =
|
||||
default_account_params
|
||||
// {
|
||||
address = "aner@zakobar.com";
|
||||
msmtp.enable = true;
|
||||
primary = true;
|
||||
userName = "aner@zakobar.com";
|
||||
imap = {host = "mail.privateemail.com";};
|
||||
smtp =
|
||||
default_smtp
|
||||
// {
|
||||
port = 587;
|
||||
host = "mail.privateemail.com";
|
||||
};
|
||||
passwordCommand = "pass zakobar.com/mail/aner";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user