# mutt config commun # # from https://github.com/Nelyah/dotfiles/blob/master/.mutt/settings set use_envelope_from=yes set reverse_name set reverse_realname # # paths # # set folder = ~/.mail # mailbox location -- set in accounts files set alias_file = ~/.mutt/muttrc-alias # where to store aliases source ~/.mutt/muttrc-alias set header_cache = ~/.mutt/cache/headers # where to store headers set message_cachedir = ~/.mutt/cache/bodies # where to store bodies set certificate_file = ~/.mutt/certificates # where to store certs set tmpdir = ~/.mutt/temp # where to keep temp files set print = ask-yes set print_command = lp set ispell = "aspell check" # # general # set mail_check=90 # check mail every (s) set timeout=15 # wait only (s) max set editor='vim "+set spelllang=fr"' set wait_key=no set user_agent=yes set mime_forward=yes # set forward message as attach and not in text set pipe_decode=yes set pipe_decode_weed=yes # text/html .... alternative_order text/plain text/html auto_view text/html # status format # default is = "-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---" set status_format = "-%r-%v@%h: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---" # # pager format # default is "-%Z- %C/%m: %-20.20n %s%* -- (%P)" set pager_format = "-%Z- %C/%m: from <%n> « %s »%* -- (%P)" # # index # # index format dynamic change # from https://muttmua.gitlab.io/mutt/manual-dev.html#index-format-hook set index_format="%4C %Z %?H?[%H]? %-10@date@ %-30.30L (%?l?%4l&%4c?) %s" index-format-hook date "~d<1d" "%[%H:%M]" index-format-hook date "~d<2d" "hier %[%H:%M]" index-format-hook date "~d<5d" "%[%a %H:%M]" index-format-hook date "~d<1m" "%[%a %d]" index-format-hook date "~d<1y" "%[%d %b]" index-format-hook date "~A" "%[%m/%Y]" set sort = threads # default sorting set sort_aux = last-date-received # second sorting # # keybinding # bind generic <home> first-entry bind generic <C-up> first-entry bind generic <end> last-entry bind generic <C-down> last-entry bind generic <left> previous-entry bind generic <right> next-entry bind generic '"' what-key # print key code -- ctrl+g to quit bind index G imap-fetch-mail # force fetch new email bind index K previous-unread bind index J next-unread bind index \ct tag-thread # TODO macro index <Esc>t <enter-command>untag-pattern<enter> bind pager <pageup> half-up bind pager <up> half-up bind pager <pagedown> half-down bind pager <down> half-down # # Macros # macro index .r ":source ~/.mutt/muttrc<enter>" "Reload muttrc" macro index <esc>T <untag-pattern> # urlscan macro index,pager \cb "<pipe-message>urlscan<enter>" "open URL in urlscan" macro attach,compose \cb "<pipe-entry> urlscan<Enter>" "call urlscan to extract URLs out of a message" # save messages macro index >I <tag-prefix><save-message>=SERVICE.INFO<enter> 'save to service info' macro index >N <tag-prefix><save-message>=netdata<enter> 'save to netdata' macro index >P <tag-prefix><save-message>=2019-2020-PYL<enter> 'Le chef' macro index >S <tag-prefix><save-message>=SPAM<enter> 'save to SPAM' # filtres to new/old/flag messages macro index ,a "<limit>~A<Enter>" "Voir: all" macro index ,n "<limit>(~N|~O|~F)<Enter>" "Voir: new/flag" macro index ,f "<limit>~F<Enter>" "Voir: flag" macro index ,m "<limit>(~N|~O)(~p|~P|~C info@)|~C printers@|~C proxmox@|~s 'monit alert'|~s SMART|~F<Enter>" "Voir: new+from/to me" macro index ,M "<limit>(~p|~P|~C info@|~C printers@)|~C proxmox@|~s 'monit alert'|~s SMART|~F<Enter>" "Voir: from/to me" macro index ,t "<limit>(~N|~O|~F) ~C tout.?ida@<Enter>" "Voir: new+toutida" macro index ,T "<limit>~C tout.?ida@<Enter>" "Voir: toutida" # filtres autres macro index ,i "<limit>Demande.*inscription<Enter>" "view inscription" macro index >i <tag-prefix><save-message>=dalembert-inscription<enter> 'save to IMPRIMANTES' macro index,pager .i ":set wait_key=yes<enter><tag-prefix><pipe-message>mutt_process<enter>:set wait_key=no<enter>" 'generate responses from ' # macro index,pager .i ":set wait_key=yes<enter><tag-prefix><pipe-message>mutt_process<enter>:set wait_key=no<enter>" 'generate responses from ' # macro index /c "<limit>~C su-adherents|~C diffusion-fercsup|~C bureau-sntrsjussieu|~C communication-syndicale|~C commob_jussieu|~s CGT|~s 'commission sociale'<Enter>" "view listes CGT" macro index ,c "<limit>~C corresp_ssi@services.cnrs.fr | ~C cssi_dr2@services.cnrs.fr | ~C netadmin@listes.sorbonne-universite.fr | ~c cssi@listes.sorbonne-universite.fr | ~f support@cert-manager.com | ~s genci <Enter>" "view CSSI" macro index >C <tag-prefix><save-message>=CSSI<enter> 'save to CSSI' macro index ,l "<limit>logwatch|cron<Enter>" "view logwatch" macro index >L <tag-prefix><save-message>=logwatchs<enter> 'save to logwatchs' macro index ,v "<limit>~f @brahma<Enter>" "view brahma logs" macro index >V <tag-prefix><save-message>=VLAN<enter> 'save to VLAN' # listes macro index >A <tag-prefix><save-message>=liste-ASR<enter> "save to liste-ASR" macro index >D <tag-prefix><save-message>=liste-DEBIAN<enter> "save to liste-DEBIAN" macro index >H <tag-prefix><save-message>=liste-hackesr<enter> "save to liste-hackesr" macro index /l "<limit>(~C @listes.sorbonne-universite.fr|~C @listes.upmc.fr|~C @services.cnrs.fr|~C @groupes.renater.fr|~C @pmichaud.com|~C @lists.debian.org)<Enter>" "Voir: Listes" macro index /m "<limit>monit<Enter>" "Voir: monit" # notmuch-mutt ??? macro index .n \ "<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\ <shell-escape>notmuch-mutt -r --prompt search<enter>\ <change-folder-readonly>$HOME/.cache/notmuch/mutt/results<enter>\ <enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \ "notmuch search" ### automatic actions # (push are executed AFTER all commands) # (multiple push/exec will be exec in reverse order) # delete duplicate messages folder-hook . 'set confirmappend=yes' folder-hook . 'push <delete-pattern>~=<enter>' ## FIXME ne marche pas # folder-hook INBOX 'set confirmappend=no' # folder-hook INBOX 'push ,m' #+ get new messages by default # folder-hook INBOX 'push <tag-pattern>CERTFR-<enter><tag-prefix><save-message>=CSSI<enter>' #+ save CERTFR- to =CSSI folder-hook INBOX 'push ,m' #+ get new messages by default # identities macro compose \cf "<edit-from>^Umoi\_<tab>" "Select from" # # spam detection - champs %H # spam "X-j-chkmail-Status: Spam (.*)" "ju/%1" spam "X-Spam-Status: Yes" "sa" spam "X-Amavis-Spam-Status: Yes" "am" spam "X-Renater-SpamScore: ([1-9][0-9]*)" "re/%1" set spam_separator="|" # # Messages # set rfc2047_parameters # decoded some set send_charset = "us-ascii:utf-8" # UTF stuff set assumed_charset = "utf-8" set charset = "utf-8" set date_format = "%d %b %Y a %H:%M:%S %Z" set attribution_locale = "fr_FR.UTF-7" set attribution="Le %d, %n a écrit :" # # headers # ignore * unignore from date subject to cc reply-to User-Agent Content-Length unignore organization organisation x-mailer: x-newsreader: x-mailing-list: unignore posted-to: List-Id: unignore X-j-chkmail-Status: X-Spam-Status: X-Amavis-Spam-Status: X-Renater-SpamScore: # reset header order unhdr_order * hdr_order Date: Subject: From: From To: Cc: reply-to: User-Agent: x-mailer: posted-to: List-Id: x-mailing-list: Content-Length: X-*: # pager set pager_stop # dont exit at the end of the message with <space> # # Colors # source $HOME/.mutt/muttrc-colors # # Accounts # # from https://github.com/Nelyah/dotfiles/blob/master/.mutt/settings macro generic \Cx| "<enter-command>source" macro generic \Cx& "<enter-command>macro index \\t \"\\Cx" source $HOME/.mutt/muttrc-accounts # # GPG # source $HOME/.mutt/gpg.rc set crypt_autosign = yes set crypt_replysign = yes set crypt_replyencrypt = yes set crypt_replysignencrypted = yes set crypt_protected_headers_write = yes # protect subject set crypt_protected_headers_subject = 'Sujet Sensible (chiffré)' # OLD set pgp_default_key = D7B87DFB479CA02E48A2383C00054A3358D16D27 set pgp_default_key = A8F721C80E43073F40DF8F21B57DBE40C72FBCF4 # auto attach pub key from https://stackoverflow.com/a/67065558 # Esc-k pour inclure manuellement macro compose y "<attach-key>`echo A8F721C80E43073F40DF8F21B57DBE40C72FBCF4`<enter><enter><send-message>" macro compose Y "<send-message>" # # Query : ldap # # Use with Ctrl+t set query_command = "$HOME/.mutt/mutt_ldap.sh %s"