2024-07-10 18:54:39 -04:00

123 lines
3.8 KiB
Nix

{ pkgs, config, ... }:
{
home.packages = with pkgs; [
w3m
mailcap
];
home.file.".mailcap".source = ./mailcap;
programs = {
neomutt = {
enable = true;
sort = "reverse-date";
sidebar = {
enable = true;
};
binds = [
{
map = [ "index" "pager" ];
key = "B";
action = "sidebar-toggle-visible";
}
{
map = [ "index" "pager" ];
key = "\\CN";
action = "sidebar-next";
}
{
map = [ "index" "pager" ];
key = "\\CP";
action = "sidebar-prev";
}
{
map = [ "index" "pager" ];
key = "\\CO";
action = "sidebar-open";
}
];
extraConfig = ''
color normal default default # Text is "Text"
color index color2 default ~N # New Messages are Green
color index color1 default ~F # Flagged messages are Red
color index color13 default ~T # Tagged Messages are Red
color index color1 default ~D # Messages to delete are Red
color attachment color5 default # Attachments are Pink
color signature color8 default # Signatures are Surface 2
color search color4 default # Highlighted results are Blue
color indicator default color8 # currently highlighted message Surface 2=Background Text=Foreground
color error color1 default # error messages are Red
color status color15 default # status line "Subtext 0"
color tree color15 default # thread tree arrows Subtext 0
color tilde color15 default # blank line padding Subtext 0
color hdrdefault color13 default # default headers Pink
color header color13 default "^From:"
color header color13 default "^Subject:"
color quoted color15 default # Subtext 0
color quoted1 color7 default # Subtext 1
color quoted2 color8 default # Surface 2
color quoted3 color0 default # Surface 1
color quoted4 color0 default
color quoted5 color0 default
color body color2 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses Green
color body color2 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs Green
color body color4 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text Blue
color body color4 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text Blue
color body color4 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text Blue
color sidebar_flagged color1 default # Mailboxes with flagged mails are Red
color sidebar_new color10 default # Mailboxes with new mail are Green
'';
};
msmtp = {
enable = true;
};
mbsync = {
enable = true;
};
password-store = {
enable = true;
};
};
accounts.email = {
accounts.michaelthomson = {
primary = true;
address = "michael@michaelthomson.dev";
realName = "Michael Thomson";
userName = "michael@michaelthomson.dev";
passwordCommand = "op read \"op://Personal/SES SMTP/password\"";
neomutt = {
enable = true;
extraMailboxes = [ "Drafts" "Sent" "Trash" "Junk" ];
};
mbsync = {
enable = true;
create = "maildir";
};
imap = {
host = "mail.michaelthomson.dev";
port = 993;
tls = {
enable = true;
};
};
msmtp = {
enable = true;
};
smtp = {
host = "mail.michaelthomson.dev";
port = 465;
tls = {
enable = true;
};
};
};
};
}