mail: get rid of neomutt and switch to aerc

This commit is contained in:
Rouven Seifert 2023-11-10 11:59:00 +01:00
parent 33f39b3a15
commit 52788f10ea
Signed by: rouven.seifert
GPG key ID: B95E8FE6B11C4D09
6 changed files with 29 additions and 310 deletions

View file

@ -10,12 +10,30 @@ in
"email/agdsn" = { };
"email/google" = { };
};
home.packages = with pkgs; [
imv
w3m
urlview
];
programs = {
aerc = {
enable = true;
extraConfig = {
general = {
unsafe-accounts-conf = true;
};
ui = {
sort = "date";
dirlist-tree = true;
fuzzy-complete = true;
styleset-name = "dracula";
threading-enabled = true;
};
filters = {
"text/plain" = "colorize";
"text/html" = "html | colorize";
"message/delivery-status" = "colorize";
"message/rfc822" = "colorize";
"text/calendar" = "calendar";
};
};
};
thunderbird = {
enable = true;
profiles = {
@ -30,25 +48,6 @@ in
};
};
};
neomutt = {
enable = true;
sidebar.enable = true;
checkStatsInterval = 30;
extraConfig = ''
bind pager <Space> noop
bind index,pager \Cp sidebar-prev
# Move the highlight to the next mailbox
bind index,pager \Cn sidebar-next
# Open the highlighted mailbox
bind index,pager <space><return> sidebar-open
set mailcap_path = ${./mailcap}
source ${./vim-keys.muttrc}
source ${./dracula.muttrc}
source ${./powerline.muttrc}
'';
};
# set sidebar_indent_string = ' '
# set sidebar_width = 80
mbsync.enable = true;
};
accounts.email.accounts = {
@ -71,55 +70,13 @@ in
enable = true;
create = "maildir";
expunge = "both";
groups.rfive = {
channels.inbox = {
nearPattern = "INBOX";
farPattern = "INBOX";
extraConfig.Create = "near";
};
channels.trash = {
nearPattern = "Trash";
farPattern = "Trash";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Sent";
extraConfig.Create = "near";
};
channels.junk = {
nearPattern = "Spam";
farPattern = "Spam";
extraConfig.Create = "near";
};
channels.drafts = {
nearPattern = "Drafts";
farPattern = "Drafts";
extraConfig.Create = "near";
};
channels.github = {
nearPattern = "GitHub";
farPattern = "GitHub";
extraConfig.Create = "near";
};
channels.reports = {
nearPattern = "Reports";
farPattern = "Reports";
extraConfig.Create = "near";
};
};
extraConfig = {
account = {
AuthMechs = "Login";
};
};
};
neomutt = let c = mbsync.groups.rfive.channels; in
{
enable = true;
mailboxName = " 󰒋 rfive.de";
extraMailboxes = lib.lists.forEach [ c.sent c.trash c.junk c.drafts c.reports c.github ] (x: x.nearPattern);
};
aerc.enable = true;
};
"TU-Dresden" = rec {
address = "rouven.seifert@mailbox.tu-dresden.de";
@ -179,12 +136,7 @@ in
};
};
thunderbird.enable = true;
neomutt = let c = mbsync.groups.tud.channels; in
{
enable = true;
mailboxName = " TU Dresden";
extraMailboxes = lib.lists.forEach [ c.opal c.sent c.trash c.junk c.drafts ] (x: x.nearPattern);
};
aerc.enable = true;
};
"iFSR" = rec {
address = "rouven.seifert@ifsr.de";
@ -215,54 +167,6 @@ in
enable = true;
create = "maildir";
expunge = "both";
groups.ifsr = {
# TODO beautify with nix magic
channels.inbox = {
nearPattern = "INBOX";
farPattern = "INBOX";
extraConfig.Create = "near";
};
channels.root = {
nearPattern = "Root";
farPattern = "Root";
extraConfig.Create = "near";
};
channels.ese = {
nearPattern = "ESE";
farPattern = "ESE";
extraConfig.Create = "near";
};
channels.github = {
nearPattern = "GitHub";
farPattern = "GitHub";
extraConfig.Create = "near";
};
channels.reports = {
nearPattern = "Root/Reports";
farPattern = "Root/Reports";
extraConfig.Create = "near";
};
channels.trash = {
nearPattern = "Trash";
farPattern = "Trash";
extraConfig.Create = "near";
};
channels.sent = {
nearPattern = "Sent";
farPattern = "Sent";
extraConfig.Create = "near";
};
channels.junk = {
nearPattern = "Spam";
farPattern = "Spam";
extraConfig.Create = "near";
};
channels.drafts = {
nearPattern = "Drafts";
farPattern = "Drafts";
extraConfig.Create = "near";
};
};
extraConfig = {
account = {
AuthMechs = "Login";
@ -270,12 +174,7 @@ in
};
};
thunderbird.enable = true;
neomutt = let c = mbsync.groups.ifsr.channels; in
{
enable = true;
mailboxName = " iFSR";
extraMailboxes = lib.lists.forEach [ c.root c.ese c.github c.reports c.sent c.trash c.junk c.drafts ] (x: x.nearPattern);
};
aerc.enable = true;
};
"agdsn" = rec {
address = "r5@agdsn.me";
@ -299,33 +198,6 @@ in
enable = true;
create = "maildir";
expunge = "both";
# groups.ifsr = {
# channels.inbox = {
# nearPattern = "INBOX";
# farPattern = "INBOX";
# extraConfig.Create = "near";
# };
# channels.trash = {
# nearPattern = "Trash";
# farPattern = "Trash";
# extraConfig.Create = "near";
# };
# channels.sent = {
# nearPattern = "Sent";
# farPattern = "Sent";
# extraConfig.Create = "near";
# };
# channels.junk = {
# nearPattern = "Junk";
# farPattern = "Junk";
# extraConfig.Create = "near";
# };
# channels.drafts = {
# nearPattern = "Drafts";
# farPattern = "Drafts";
# extraConfig.Create = "near";
# };
# };
extraConfig = {
account = {
AuthMechs = "Login";
@ -333,13 +205,7 @@ in
};
};
thunderbird.enable = true;
neomutt = let c = mbsync.groups.ifsr.channels; in
{
enable = true;
mailboxName = " 󰒍 AG DSN";
# extraMailboxes = lib.lists.forEach [ c.sent c.trash c.junk c.drafts ] (x: x.nearPattern);
extraMailboxes = [ "+Sent" "+Trash" "+Junk" "+Drafts" "+Lists/intern" ];
};
aerc.enable = true;
};
"gmail" = rec {
address = "seifertrouven@gmail.com";
@ -392,20 +258,9 @@ in
};
};
thunderbird.enable = true;
neomutt = let c = mbsync.groups.gmail.channels; in
{
enable = true;
mailboxName = " 󰊫 gmail";
extraMailboxes = lib.lists.forEach [ c.sent c.trash c.junk c.drafts ] (x: x.nearPattern);
extraConfig = ''
set copy = no
'';
};
aerc.enable = true;
};
};
home.file.".urlview".text = ''
COMMAND ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null
'';
home.file.".gnupg/dirmngr_ldapservers.conf".text = ''
ldap.pca.dfn.de::::o=DFN-Verein,c=DE
'';

View file

@ -1,51 +0,0 @@
###############################################################################
# Dracula Theme for Mutt: https://draculatheme.com/
#
# @author Paul Townsend <paul@caprica.org>
# general ------------ foreground ---- background -----------------------------
color error color231 color212
color indicator color231 color241
color markers color210 default
color message default default
color normal default default
color prompt default default
color search color84 default
color status color141 color236
color tilde color231 default
color tree color141 default
# message index ------ foreground ---- background -----------------------------
color index color210 default ~D # deleted messages
color index color84 default ~F # flagged messages
color index color117 default ~N # new messages
color index color212 default ~Q # messages which have been replied to
color index color215 default ~T # tagged messages
color index color141 default ~v # messages part of a collapsed thread
# message headers ---- foreground ---- background -----------------------------
color hdrdefault color117 default
color header color231 default ^Subject:.*
# message body ------- foreground ---- background -----------------------------
color attachment color228 default
color body color231 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses
color body color228 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs
color body color231 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text
color body color231 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text
color body color231 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text
color quoted color61 default
color quoted1 color117 default
color quoted2 color84 default
color quoted3 color215 default
color quoted4 color212 default
color signature color212 default
color sidebar_indicator cyan black
color sidebar_highlight white color8
color sidebar_divider color8 black
color sidebar_flagged red black
color sidebar_new green black
color sidebar_ordinary color245 default
color sidebar_spool_file color207 default
color sidebar_unread color136 default

View file

@ -1,6 +0,0 @@
text/plain; w3m -I %{charset} -T text/plain; copiousoutput;
text/html; w3m -I %{charset} -T text/html; copiousoutput;
image/*; setsid imv %s >/dev/null & ;
video/*; setsid mpv --quiet %s >/dev/null &;
audio/*; mpv %s ;
application/pdf; setsid evince %s >/dev/null & ;

View file

@ -1,46 +0,0 @@
# ----------------------------------------------------------------------------
# Powerline / nerdfont
# This is a bit "hackish" due to neomutt limitations
#
# Author: Sheoak <contact [at] sheoak.fr>
# ----------------------------------------------------------------------------
set index_format=" %zs %zc %zt %{!%d %b} . %-28.28L %?M?(%1M)& ? %?X?&·? %s"
set pager_format=" %n %zc  %T %s%*  %{!%d %b · %H:%M} %?X?  %X ? %P  "
set status_format = " %f%?r? %r?   %m %?n?  %n ?  %?d?  %d ?%?t?  %t ?%?F?  %F? %> %?p?  %p ?"
set vfolder_format = " %N %?n?%3n& ? %8m  · %f"
set attach_format = "%u%D  %T%-75.75d %?T?%& ? %5s · %m/%M"
# no addressed to me, to me, group, cc, sent by me, mailing list
set to_chars="➜"
# unchanged mailbox, changed, read only, attach mode
# set status_chars = " "
ifdef crypt_chars set crypt_chars = ""
set flag_chars = " "
set hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted"
tag-transforms "replied" "↻ " \
"encrytpted" "" \
"signed" "" \
"attachment" "" \
# The formats must start with 'G' and the entire sequence is case sensitive.
tag-formats "replied" "GR" \
"encrypted" "GE" \
"signed" "GS" \
"attachment" "GA" \
color status white black
# powerline status bar hack
color status green black ''
color status yellow black ''
color status red black ''
color status brightblack blue '(.*)' 1
color status blue black '.*()' 1
color status black blue '\s* [0-9]+\s*'
color status blue black '().*$' 1
color status yellow black '()\s*\s*[0-9]+\s*' 1
color status black yellow '\s*\s*[0-9]+\s*'
color status blue yellow '() ([0-9]+%|all|end) \s*' 1
color status black blue ' ([0-9]+%|all|end) \s*'
color status yellow black '()\s*' 1
color status default black ''

View file

@ -1,34 +0,0 @@
#------------------------------------------------------------
# Vi Key Bindings
#------------------------------------------------------------
# Moving around
bind attach,browser,index g noop
bind attach,browser,index gg first-entry
bind attach,browser,index G last-entry
bind pager g noop
bind pager gg top
bind pager G bottom
bind pager k previous-line
bind pager j next-line
# Scrolling
bind attach,browser,pager,index \CF next-page
bind attach,browser,pager,index \Cu half-up
bind attach,browser,pager,index \Cd half-down
bind browser,pager \Ce next-line
bind browser,pager \Cy previous-line
bind index \Ce next-line
bind index \Cy previous-line
bind pager,index d noop
bind pager,index dd delete-message
# Threads
bind browser,pager,index N search-opposite
bind pager,index dT delete-thread
bind pager,index dt delete-subthread
bind pager,index gt next-thread
bind pager,index gT previous-thread
bind index za collapse-thread
bind index zA collapse-all # Missing :folddisable/foldenable

View file

@ -24,6 +24,7 @@ in
leafpad
gamescope
gnome.simple-scan
imv
# sound
pavucontrol