diesdas
This commit is contained in:
parent
3362d139c4
commit
e374b0b693
7 changed files with 305 additions and 77 deletions
BIN
_config.xdg.dataHome/neomutt/cache/headers
vendored
Normal file
BIN
_config.xdg.dataHome/neomutt/cache/headers
vendored
Normal file
Binary file not shown.
BIN
_config.xdg.dataHome/neomutt/cache/headers-lock
vendored
Normal file
BIN
_config.xdg.dataHome/neomutt/cache/headers-lock
vendored
Normal file
Binary file not shown.
|
|
@ -81,7 +81,7 @@
|
||||||
./R.nix
|
./R.nix
|
||||||
./nvim
|
./nvim
|
||||||
./fish.nix
|
./fish.nix
|
||||||
./mail.nix
|
./mail
|
||||||
./tex.nix
|
./tex.nix
|
||||||
./openconnect.nix
|
./openconnect.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
93
home/mail/bindings.neomuttrc
Normal file
93
home/mail/bindings.neomuttrc
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
# Navigation
|
||||||
|
bind index,pager k previous-entry
|
||||||
|
bind index,pager j next-entry
|
||||||
|
bind index,pager \Cu half-up
|
||||||
|
bind index,pager \Cd half-down
|
||||||
|
bind pager gg top
|
||||||
|
bind index gg first-entry
|
||||||
|
bind pager G bottom
|
||||||
|
bind index G last-entry
|
||||||
|
bind index,pager N search-opposite
|
||||||
|
bind index <space> collapse-thread
|
||||||
|
bind index,pager gf change-folder
|
||||||
|
|
||||||
|
# Read HTML
|
||||||
|
bind index,pager V noop
|
||||||
|
macro index,pager V "<view-attachments><search>html<enter><view-mailcap><exit>"
|
||||||
|
|
||||||
|
# Sidebar navigation
|
||||||
|
# bind index,pager \Cj sidebar-next
|
||||||
|
# bind index,pager \Ck sidebar-prev
|
||||||
|
# bind index,pager \Cl sidebar-open
|
||||||
|
# bind index,pager gl sidebar-toggle-visible
|
||||||
|
|
||||||
|
# macro index,pager g8 "<pipe-message>less<return>" "Just testing"
|
||||||
|
|
||||||
|
# compose
|
||||||
|
bind compose p postpone-message
|
||||||
|
bind compose P pgp-menu
|
||||||
|
# macro compose I "<attach-file>`tmpfile=$(mktemp -u --suffix .png -t XXXXXXXXXXXX -p ~/tmp) && wl-paste -t image/png > "$tmpfile" && echo "$tmpfile"`<enter>" "attach image from clipboard"
|
||||||
|
|
||||||
|
bind editor <Tab> complete-query
|
||||||
|
bind editor ^T complete
|
||||||
|
bind index,pager a group-reply
|
||||||
|
bind index,pager m noop
|
||||||
|
macro index,pager mar "<tag-pattern>new<enter><tag-prefix-cond><clear-flag>n<enter><tag-prefix-cond><clear-flag>*<enter>" "Mark all read"
|
||||||
|
|
||||||
|
# compose with signature management
|
||||||
|
macro index,pager @ "<enter-command>set signature=$my_signature<enter><compose-to-sender>" "Compose to sender"
|
||||||
|
macro index,pager c "<enter-command>set signature=$my_signature<enter><mail>" "Compose new message"
|
||||||
|
macro index,pager r "<enter-command>unset signature<enter><reply>" "Reply to message"
|
||||||
|
macro index,pager a "<enter-command>unset signature<enter><group-reply>" "Reply all"
|
||||||
|
macro index,pager f "<enter-command>unset signature<enter><forward-message>" "Forward message"
|
||||||
|
|
||||||
|
# moving messages
|
||||||
|
macro index,pager J ":set resolve=no\n<clear-flag>n:set resolve=yes\n<save-message>$my_junk<enter>" \
|
||||||
|
"Move to junk folder"
|
||||||
|
macro index,pager y ":set resolve=no\n<clear-flag>n:set resolve=yes\n<save-message>$mbox<enter>" \
|
||||||
|
"Move message to the archive"
|
||||||
|
macro index,pager I "<save-message>$spoolfile<enter>" "Move message to the inbox"
|
||||||
|
|
||||||
|
# switch folders
|
||||||
|
# macro index,pager gi "<change-folder>$spoolfile<enter>" "Go to inbox"
|
||||||
|
macro index,pager g! "<change-folder>$spoolfile<enter><refresh>" "Go to inbox"
|
||||||
|
macro index,pager gd "<change-folder>$postponed<enter><refresh>" "Go to drafts"
|
||||||
|
# macro index,pager gs "<change-folder>$record<enter>" "Go to sent"
|
||||||
|
macro index,pager g< "<change-folder>$record<enter><refresh>" "Go to sent"
|
||||||
|
# macro index,pager ga "<change-folder>$mbox<enter>" "Go to archive"
|
||||||
|
macro index,pager g> "<change-folder>$mbox<enter><refresh>" "Go to archive"
|
||||||
|
macro index,pager gt "<change-folder>$trash<enter><refresh>" "Go to trash"
|
||||||
|
macro index,pager gj "<change-folder>$my_junk<enter><refresh>" "Go to junk"
|
||||||
|
|
||||||
|
# accounts
|
||||||
|
macro index,pager gu "<change-folder>+gu/IMAP/Inbox<enter><refresh>" "Go to GU"
|
||||||
|
macro index,pager gp "<change-folder>+systemli/IMAP/Inbox<enter><refresh>" "Go to Systemli"
|
||||||
|
macro index,pager gm "<change-folder>+gmail/IMAP/Inbox<enter><refresh>" "Go to Gmail"
|
||||||
|
macro index,pager gk "<change-folder>+ks/IMAP/Inbox<enter><refresh>" "Go to KS"
|
||||||
|
macro index,pager gi "<change-folder>+ktiu/IMAP/Inbox<enter><refresh>" "Go to ktiu"
|
||||||
|
macro index,pager gf "<change-folder>+dkg/IMAP/Inbox<enter><refresh>" "Go to DKG"
|
||||||
|
|
||||||
|
macro index,pager L "<limit>all\n" "Show all messages (undo limit)"
|
||||||
|
|
||||||
|
macro index,pager go "<shell-escape>mbsync -c ~/.config/mbsync/mbsyncrc $my_mbsync_acct && notmuch new<enter>" \
|
||||||
|
"Run mbsync to sync mail for this account"
|
||||||
|
|
||||||
|
macro index,pager g/ \
|
||||||
|
"<vfolder-from-query-readonly>" \
|
||||||
|
"mu find"
|
||||||
|
|
||||||
|
macro index,pager A \
|
||||||
|
"<pipe-message>khard add-email --vcard-version=4.0<return>" \
|
||||||
|
"add the sender email address to khard"
|
||||||
|
|
||||||
|
macro index,pager S \
|
||||||
|
"<pipe-message> ripmime -i - -d ~/tmp && rm ~/tmp/textfile*" \
|
||||||
|
"save all non-text attachments using ripmime"
|
||||||
|
|
||||||
|
macro index,pager gb \
|
||||||
|
"<pipe-message> urlscan<enter>" \
|
||||||
|
"extract URLs out of a message"
|
||||||
|
|
||||||
|
macro index,pager gO \
|
||||||
|
"<shell-escape>mbsync -ac ~/.config/mbsync/mbsyncrc && notmuch new<enter>" \
|
||||||
|
"run mbsync to sync all mail"
|
||||||
151
home/mail/config.neomuttrc
Normal file
151
home/mail/config.neomuttrc
Normal file
|
|
@ -0,0 +1,151 @@
|
||||||
|
# set mailcap_path = ~/.config/neomutt/mailcap
|
||||||
|
# set tmpdir = ~/.local/share/neomutt/tmp
|
||||||
|
set alias_file = ~/.local/share/neomutt/aliases.neomuttrc
|
||||||
|
set my_download_folder = ~/tmp
|
||||||
|
set folder = ~/.local/share/mail/imap/
|
||||||
|
|
||||||
|
# Caching
|
||||||
|
set header_cache = ~/.local/share/neomutt/cache/headers
|
||||||
|
set message_cachedir = ~/.local/share/neomutt/cache/bodies
|
||||||
|
set header_cache_backend = "lmdb"
|
||||||
|
|
||||||
|
# Basic options
|
||||||
|
unset wait_key
|
||||||
|
set mbox_type = Maildir
|
||||||
|
# set delete
|
||||||
|
set mail_check_stats
|
||||||
|
unset confirm_append
|
||||||
|
unset beep
|
||||||
|
unset mark_old
|
||||||
|
set sleep_time = 0
|
||||||
|
# set shell = /bin/bash
|
||||||
|
|
||||||
|
# Sending
|
||||||
|
# set sendmail = "/home/till/.nix-profile/bin/sendmail -C /home/till/.config/msmtp/msmtprc"
|
||||||
|
set use_envelope_from
|
||||||
|
unset reverse_realname
|
||||||
|
|
||||||
|
# Searching
|
||||||
|
# set nm_default_url = "notmuch:///home/till/.local/share/neomutt/mail/"
|
||||||
|
|
||||||
|
# Multi-account setup
|
||||||
|
# source ~/.config/neomutt/accounts/dkg.neomuttrc
|
||||||
|
# source ~/.config/neomutt/accounts/gu.neomuttrc
|
||||||
|
# bind index,pager g noop
|
||||||
|
|
||||||
|
# folder-hook $folder/gu/ source ~/.config/neomutt/accounts/gu.neomuttrc
|
||||||
|
# folder-hook $folder/systemli/ source ~/.config/neomutt/accounts/systemli.neomuttrc
|
||||||
|
# folder-hook $folder/ks/ source ~/.config/neomutt/accounts/ks.neomuttrc
|
||||||
|
# folder-hook $folder/gmail/ source ~/.config/neomutt/accounts/gmail.neomuttrc
|
||||||
|
# folder-hook $folder/ktiu/ source ~/.config/neomutt/accounts/ktiu.neomuttrc
|
||||||
|
# folder-hook $folder/dkg/ source ~/.config/neomutt/accounts/dkg.neomuttrc
|
||||||
|
# folder-hook $folder/papa/ source ~/.config/neomutt/accounts/papa.neomuttrc
|
||||||
|
# folder-hook . source ~/.config/neomutt/bindings.neomuttrc
|
||||||
|
|
||||||
|
|
||||||
|
# # Source config
|
||||||
|
# source ~/.config/neomutt/views.neomuttrc
|
||||||
|
# source ~/.config/neomutt/sidebar.neomuttrc
|
||||||
|
# source ~/.config/neomutt/colors.neomuttrc
|
||||||
|
# source ~/.config/neomutt/smime.neomuttrc
|
||||||
|
# source ~/.config/neomutt/pgp.neomuttrc
|
||||||
|
source $alias_file
|
||||||
|
|
||||||
|
# Compose
|
||||||
|
set editor = "nvim -c 'call woof#init#Init()'"
|
||||||
|
set edit_headers
|
||||||
|
set forward_format = "Fwd: %s"
|
||||||
|
set forward_attachments
|
||||||
|
set fast_reply
|
||||||
|
set include
|
||||||
|
set forward_quote
|
||||||
|
unset recall
|
||||||
|
set resume_draft_files
|
||||||
|
set abort_noattach_regex = "(attach|enclosed|anbei|anhängen|angehängt|anhang|anhänge|hängt an)"
|
||||||
|
set abort_noattach = ask-yes
|
||||||
|
set mime_type_query_command = "file -b --mime-type %s"
|
||||||
|
set query_command= "khard email --parsable '%s'"
|
||||||
|
|
||||||
|
# Status bar
|
||||||
|
set status_chars = "✔↻٪A"
|
||||||
|
set status_format = "— [ %r ] %f (%lB) %>— %m messages%?n? [ %n new ]?%?d? [ %d to delete ]?%?t? [ %t tagged ]? —"
|
||||||
|
unset help
|
||||||
|
|
||||||
|
# Index
|
||||||
|
set index_format = "%-25.25F %<[y?%<[7d?%<[d?%[ %H:%M]&%[%a %H:%M]>&%[%d.%m. %Hh]>&%[%d.%m.%Y]> %Z %?X?▼ &?%s"
|
||||||
|
set strict_threads
|
||||||
|
set send_charset = "utf-8:iso-8859-1:us-ascii"
|
||||||
|
set charset = "utf-8"
|
||||||
|
|
||||||
|
# sorting
|
||||||
|
set sort = threads
|
||||||
|
set sort_aux = reverse-last-date-received
|
||||||
|
|
||||||
|
# Pager view
|
||||||
|
set pager_index_lines = 10
|
||||||
|
set pager_context = 3
|
||||||
|
set pager_stop
|
||||||
|
set smart_wrap
|
||||||
|
set menu_scroll
|
||||||
|
set tilde
|
||||||
|
unset markers
|
||||||
|
ignore *
|
||||||
|
unignore from: to: cc: bcc: date: subject:
|
||||||
|
unhdr_order *
|
||||||
|
hdr_order from: to: cc: bcc: date: subject:
|
||||||
|
alternative_order text/plain text/enriched text/html
|
||||||
|
auto_view text/html
|
||||||
|
|
||||||
|
# Attachments
|
||||||
|
set rfc2047_parameters
|
||||||
|
set attach_save_dir = $my_download_folder
|
||||||
|
|
||||||
|
## Indicator
|
||||||
|
color indicator brightwhite brightblack
|
||||||
|
|
||||||
|
## Index
|
||||||
|
color index_flags brightmagenta default '.*'
|
||||||
|
color index_date cyan default
|
||||||
|
|
||||||
|
## New mail
|
||||||
|
color index brightblack default '~N'
|
||||||
|
|
||||||
|
## Header colors
|
||||||
|
color header brightblack default ".*"
|
||||||
|
color header brightgreen default "^(Subject)"
|
||||||
|
color header yellow default "^(From|To|CC|BCC)"
|
||||||
|
color header blue default "^Date"
|
||||||
|
|
||||||
|
## Status
|
||||||
|
color status yellow default '\[ ↻ \]'
|
||||||
|
color status green default '\[ ✔ \]'
|
||||||
|
color status magenta default '\[ ٪ \]'
|
||||||
|
color status black default '\[ [0-9]+ new \]'
|
||||||
|
color status red default '\[ [0-9]+ to delete \]'
|
||||||
|
|
||||||
|
## Mutt
|
||||||
|
color message cyan default
|
||||||
|
color error red default
|
||||||
|
color tilde black default
|
||||||
|
|
||||||
|
## Pager
|
||||||
|
color normal default default
|
||||||
|
color attachment brightblack default
|
||||||
|
color search black yellow
|
||||||
|
color quoted green default
|
||||||
|
color quoted1 blue default
|
||||||
|
color quoted2 cyan default
|
||||||
|
color quoted3 yellow default
|
||||||
|
color quoted4 red default
|
||||||
|
color quoted5 brightred default
|
||||||
|
color signature cyan default
|
||||||
|
color underline black default
|
||||||
|
|
||||||
|
## Email
|
||||||
|
color body blue default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||||
|
color body blue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||||
|
color body red default "(BAD signature)"
|
||||||
|
color body green default "(Good signature)"
|
||||||
|
color body brightblack default "^gpg: .*"
|
||||||
|
color body green default "^gpg: Good signature .*"
|
||||||
|
color body red default "^gpg: BAD signature from.*"
|
||||||
|
|
@ -1,35 +1,70 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
programs.msmtp.enable = true;
|
||||||
|
programs.mbsync.enable = true;
|
||||||
|
programs.neomutt = {
|
||||||
|
enable = true;
|
||||||
|
vimKeys = true;
|
||||||
|
];
|
||||||
|
sort = "reverse-threads";
|
||||||
|
changeFolderWhenSourcingAccount = false;
|
||||||
|
extraConfig = builtins.readFile ./config.neomttrc;
|
||||||
|
};
|
||||||
|
xdg.configFile."neomutt/bindings.neomuttrc".source = ./bindings.neomuttrc;
|
||||||
accounts.email = {
|
accounts.email = {
|
||||||
maildirBasePath = "${config.xdg.dataHome}/mail/imap";
|
maildirBasePath = "${config.xdg.dataHome}/mail/imap";
|
||||||
accounts.ktiu = {
|
accounts = {
|
||||||
|
ktiu = {
|
||||||
primary = true;
|
primary = true;
|
||||||
address = "till@ktiu.net";
|
address = "till@ktiu.net";
|
||||||
realName = "Till Straube";
|
realName = "Till Straube";
|
||||||
imap.host = "shorbut.ktiu.net";
|
imap.host = "shorbut.ktiu.net";
|
||||||
smtp.host = "shorbut.ktiu.net";
|
smtp.host = "shorbut.ktiu.net";
|
||||||
userName = "till";
|
userName = "till";
|
||||||
|
signature.text = ''
|
||||||
|
Till Straube
|
||||||
|
'';
|
||||||
|
signature.showSignature = "append";
|
||||||
neomutt.enable = true;
|
neomutt.enable = true;
|
||||||
|
neomutt.extraConfig = ''
|
||||||
|
unalternates *
|
||||||
|
alternates @ktiu.net$
|
||||||
|
set reverse_name
|
||||||
|
# set my_signature = {signature}
|
||||||
|
color status yellow default
|
||||||
|
'';
|
||||||
mbsync.enable = true;
|
mbsync.enable = true;
|
||||||
|
msmtp.enable = true;
|
||||||
passwordCommand = "secret-tool lookup server shorbut.ktiu.net account till";
|
passwordCommand = "secret-tool lookup server shorbut.ktiu.net account till";
|
||||||
};
|
};
|
||||||
|
gu = {
|
||||||
|
address = "straube@geo.uni-frankfurt.de";
|
||||||
|
realName = "Till Straube";
|
||||||
|
imap.host = "imap.server.uni-frankfurt.de";
|
||||||
|
smtp.host = "smtpauth.rz.uni-frankfurt.de";
|
||||||
|
userName = "tstraube";
|
||||||
|
signature = {
|
||||||
|
text = ''
|
||||||
|
Till Straube
|
||||||
|
'';
|
||||||
|
showSignature = "append";
|
||||||
|
};
|
||||||
|
neomutt.enable = true;
|
||||||
|
neomutt.extraConfig = ''
|
||||||
|
unalternates *
|
||||||
|
alternates ^straube@em.uni-frankfurt.de$ \
|
||||||
|
^tstraube@em.uni-frankfurt.de$ \
|
||||||
|
^tstraube@rz.uni-frankfurt.de$ \
|
||||||
|
^tstraube@uni-frankfurt.de$
|
||||||
|
unset reverse_name
|
||||||
|
# set my_signature = {signature}
|
||||||
|
color status blue default
|
||||||
|
'';
|
||||||
|
mbsync.enable = true;
|
||||||
|
msmtp.enable = true;
|
||||||
|
passwordCommand = "secret-tool lookup server imap.server.uni-frankfurt.de account tstraube";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
programs.mbsync.enable = true;
|
|
||||||
programs.neomutt = {
|
|
||||||
enable = true;
|
|
||||||
vimKeys = true;
|
|
||||||
binds = [
|
|
||||||
{ key = "V"; action = "noop"; map = ["index" "pager"]; }
|
|
||||||
];
|
|
||||||
macros = [
|
|
||||||
{ key = "c"; action = "<enter-command>set signature=$my_signature<enter><mail>"; map = ["index" "pager"]; }
|
|
||||||
];
|
|
||||||
extraConfig = builtins.readFile ./neomutt.conf;
|
|
||||||
# xdg.configFile."nvim/autocommmands.vim".source = ./autocommands.vim;
|
|
||||||
# xdg.configFile."nvim/ftplugin/markdown.vim".source = ./ftplugin/markdown.vim;
|
|
||||||
# xdg.configFile."nvim/ftplugin/r.vim".source = ./ftplugin/r.vim;
|
|
||||||
# xdg.configFile."nvim/ftplugin/rmd.vim".source = ./ftplugin/rmd.vim;
|
|
||||||
# xdg.configFile."nvim/syntax/rmd.vim".source = ./syntax/rmd.vim;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
# set mailcap_path = ~/.config/neomutt/mailcap
|
|
||||||
# set tmpdir = ~/.local/share/neomutt/tmp
|
|
||||||
set alias_file = ${config.xdg.dataHome}/neomutt/aliases.neomuttrc
|
|
||||||
# set my_download_folder = ~/tmp
|
|
||||||
|
|
||||||
# Caching
|
|
||||||
set header_cache = ${config.xdg.dataHome}/neomutt/cache/headers
|
|
||||||
set message_cachedir = ${config.xdg.dataHome}/neomutt/cache/bodies
|
|
||||||
set header_cache_backend = "lmdb"
|
|
||||||
|
|
||||||
# Basic options
|
|
||||||
unset wait_key
|
|
||||||
set mbox_type = Maildir
|
|
||||||
# set delete
|
|
||||||
set mail_check_stats
|
|
||||||
unset confirm_append
|
|
||||||
unset beep
|
|
||||||
unset mark_old
|
|
||||||
set sleep_time = 0
|
|
||||||
# set shell = /bin/bash
|
|
||||||
|
|
||||||
# Sending
|
|
||||||
# set sendmail = "/home/till/.nix-profile/bin/sendmail -C /home/till/.config/msmtp/msmtprc"
|
|
||||||
set use_envelope_from
|
|
||||||
unset reverse_realname
|
|
||||||
|
|
||||||
# Searching
|
|
||||||
# set nm_default_url = "notmuch:///home/till/.local/share/neomutt/mail/"
|
|
||||||
|
|
||||||
# Multi-account setup
|
|
||||||
# source ~/.config/neomutt/accounts/dkg.neomuttrc
|
|
||||||
# source ~/.config/neomutt/accounts/gu.neomuttrc
|
|
||||||
# bind index,pager g noop
|
|
||||||
|
|
||||||
# folder-hook $folder/gu/ source ~/.config/neomutt/accounts/gu.neomuttrc
|
|
||||||
# folder-hook $folder/systemli/ source ~/.config/neomutt/accounts/systemli.neomuttrc
|
|
||||||
# folder-hook $folder/ks/ source ~/.config/neomutt/accounts/ks.neomuttrc
|
|
||||||
# folder-hook $folder/gmail/ source ~/.config/neomutt/accounts/gmail.neomuttrc
|
|
||||||
# folder-hook $folder/ktiu/ source ~/.config/neomutt/accounts/ktiu.neomuttrc
|
|
||||||
# folder-hook $folder/dkg/ source ~/.config/neomutt/accounts/dkg.neomuttrc
|
|
||||||
# folder-hook $folder/papa/ source ~/.config/neomutt/accounts/papa.neomuttrc
|
|
||||||
# folder-hook . source ~/.config/neomutt/bindings.neomuttrc
|
|
||||||
|
|
||||||
|
|
||||||
# # Source config
|
|
||||||
# source ~/.config/neomutt/views.neomuttrc
|
|
||||||
# source ~/.config/neomutt/sidebar.neomuttrc
|
|
||||||
# source ~/.config/neomutt/colors.neomuttrc
|
|
||||||
# source ~/.config/neomutt/smime.neomuttrc
|
|
||||||
# source ~/.config/neomutt/pgp.neomuttrc
|
|
||||||
# source $alias_file
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue