dotfiles/muttrc

226 lines
8.2 KiB
Plaintext
Raw Permalink Normal View History

2024-10-30 17:49:58 +00:00
# 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>
2024-11-28 21:23:01 +00:00
# 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"
2024-10-30 17:49:58 +00:00
# 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"
### 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"