mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-01-18 17:11:39 +01:00
mail: get rid of neomutt and switch to aerc
This commit is contained in:
parent
33f39b3a15
commit
52788f10ea
6 changed files with 29 additions and 310 deletions
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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
|
|
@ -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 & ;
|
|
@ -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 ''
|
|
@ -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
|
|
@ -24,6 +24,7 @@ in
|
|||
leafpad
|
||||
gamescope
|
||||
gnome.simple-scan
|
||||
imv
|
||||
|
||||
# sound
|
||||
pavucontrol
|
||||
|
|
Loading…
Reference in a new issue