mail: Remove neomutt configuration

This commit is contained in:
Marty Oehme 2025-09-24 08:25:57 +02:00
parent 99fd7a78a5
commit b5a1560970
Signed by: Marty
GPG key ID: 4E535BC19C61886E
10 changed files with 0 additions and 938 deletions

View file

@ -62,9 +62,6 @@ pass = "~"
"office/.config/aerc/accounts.conf" = { target = "~/.config/aerc/accounts.conf", type = "template" }
"office/.config/aerc/Personal.qmap" = { target = "~/.config/aerc/Personal.qmap", type = "template" }
"office/.config/notmuch/default/hooks/post-new" = { target = "~/.config/notmuch/default/hooks/post-new", type = "template" }
"office/.config/neomutt/account" = { target = "~/.config/neomutt/account", type = "template" }
"office/.config/neomutt/profile.gmail" = { target = "~/.config/neomutt/profile.gmail", type = "template" }
"office/.config/neomutt/profile.private" = { target = "~/.config/neomutt/profile.private", type = "template" }
office = "~"
[services.files]

View file

@ -1,15 +0,0 @@
# Account settings
# local maildir settings
set mbox_type = Maildir
set folder = ~/documents/mail # This has the shortcut '+' or '= '
set spool_file = "+Inbox" # This has the shortcut '!'
set postponed = "+Drafts"
set record = "+Sent"
set trash = "+Trash"
mailboxes -notify -poll ! \
-poll "+Archive" \
-poll "+Jobs" \
-poll "+Receipts" \
-nonotify -nopoll "+Junk" \
-nonotify -nopoll "+Sent" \

View file

@ -1,207 +0,0 @@
# # taken from https://gideonwolfe.com/posts/workflow/neomutt/intro/
# # Header colors:
color header blue default ".*"
color header brightmagenta default "^(From)"
color header brightcyan default "^(Subject)"
color header brightwhite default "^(CC|BCC)"
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
color body green default "\`[^\`]*\`" # Green text between ` and `
color body brightblue default "^# \.*" # Headings as bold blue
color body brightcyan default "^## \.*" # Subheadings as bold cyan
color body brightgreen default "^### \.*" # Subsubheadings as bold green
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
color body brightcyan default "[;:][-o][)/(|]" # emoticons
color body brightcyan default "[;:][)(|]" # emoticons
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
color body red default "(BAD signature)"
color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# Default index colors:
color index yellow default "~A"
color index_author magenta default "~A"
color index_number blue default "~A"
color index_subject cyan default "~A"
# For new mail (i.e. arrived after last time neomutt was open):
color index brightyellow default "~N"
color index_author bold italic brightred default "~N"
color index_subject bold italic brightcyan default "~N"
# For unread mail:
color index brightyellow default "~U"
color index_author bold brightmagenta brightblack "~U"
color index_subject underline brightcyan default "~U"
color progress black cyan
# Nerd icons idea based on https://github.com/sheoak/neomutt-powerline-nerdfonts/
# Dracula colors based on Dracula Theme by Paul Townsend <paul@caprica.org>
# Formatting ----------------------------------------------------------------------
set date_format = "%a %d %h %H:%M"
set index_format=" %zc %zs %zt | %-20.20L %?X?& ? %M %-30.100s %> %?Y?%Y ? %(!%a %d %h %H:%M) %B"
set pager_format="%n %T %s%*  %{!%d %b · %H:%M} %?X? %X?%P"
set status_format = " %D %?u? %u ?%?R? %R ?%?d? %d ?%?t? %t ?%?F? %F ?%?p? %p? \n \n"
set compose_format="-- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>-"
# set vfolder_format = "%N %?n?%3n& ? %8m  · %f"
set attach_format = "%u%D  %T %-75.20d %T  %5s %m/%M"
set sidebar_format = '%D%<F? [%F]>%* %<Z?%Z/>%S'
index-format-hook attachment_info '=B text/calendar ~X 1' ' '
index-format-hook attachment_info '=B text/calendar' " "
index-format-hook attachment_info '~X 1' " "
index-format-hook attachment_info '~A' " "
# General Colors ------------------------------------------------------------------
color normal default default # general text
color error color231 color212 # error messages
color message default default # messages at the bottom
color prompt default default # prompt text
color search black color10 # search highlight
# Statusbar Colors ----------------------------------------------------------------
color status color141 default
color status color7 color8 '([a-zA-Z0-9\.,]|\[|\])(\s)' # bubble content 1
color status color7 color8 '(\s)([a-zA-Z0-9\.,]|\[|\])' # bubble content 2
color status color7 color8 '(\% )' # % symbol
color status color7 color8 '(\S)' # empty spaces
color status color8 default '(|)' # statusline "bubbles"
color status color69 black '(\` )' # bubble account variation
color status white color69 '([a-zA-Z0-9\.]+)()' # account text
color status green color8 '' # Unread messages count
color status blue color8 '' # Read messages count icon
color status yellow color8 '' # Flagged icon
color status red color8 '' # Pending delete icon
# Index Colors --------------------------------------------------------------------
color index color15 default '~N' # new messages
color index color8 default '~R' # read messages
color index color8 default '~Q' # messages which have been replied to
color index_collapsed color4 default # collapsed thread (message count text)
color index color5 default '!~Q^~p' # sent only to me and haven't been replied to
color index color22 default '~h X-Label..' # messages with a complete label
color index color6 default '~F' # flagged messages
color index color6 default '~F~N' # flagged messages (new)
color index color14 default '~F~R' # flagged messages (read)
color index color1 default '~D' # deleted messages
color index color1 default '~D~N' # deleted messages (new)
color index color9 default '~D~R' # deleted messages (read)
color index color3 default '~T' # tagged messages
color index color3 default '~T~N' # tagged messages (new)
color index color11 default '~T~R' # tagged messages (read)
color tree color8 color8 # thread tree lines/arrow
color indicator black cyan # selection indicator
color index_date color8 default # date is always the same colour
color index_label color6 default # label is always the same colour
# Sidebar Colors ------------------------------------------------------------------
color sidebar_indicator color14 black # currently selected mailbox
color sidebar_highlight white color8 # highlighted, but not open, mailbox.
color sidebar_ordinary color8 default # Color to give mailboxes by default
color sidebar_divider color8 black # divider between sidebar & content
color sidebar_flagged red black # mailboxes containing flagged mail
color sidebar_new green black # mailboxes containing new mail
color sidebar_unread color7 default # mailboxes containing unread mail
# Message Headers -----------------------------------------------------------------
color hdrdefault color8 default
# Message Body --------------------------------------------------------------------
# Attachments
color attachment color8 default
# Signature
color signature color8 default
# emails
color body color14 default '[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+'
# hide "mailto"
color body color0 color0 '<mailto:[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+>'
# URLs
color body color3 default '(https?|ftp)://[-\.,/%~_:?&=\#a-zA-Z0-9\+]+'
# Dividers
color body color8 default '(^[-_]*$)'
# Important info in calendar invites
color body color6 default '^(Date\/Time|Location|Organiser|Invitees|Teams Meeting)(:| \~\~)'
# Quotes
color quoted color61 default
color quoted1 color117 default
color quoted2 color84 default
color quoted3 color215 default
color quoted4 color212 default
# Forward/reply headers
color body color8 default '(^(To|From|Sent|Subject):.*)'
# Patch syntax highlighting
# color body brightwhite default '^[[:space:]].*'
# color body yellow default ^(diff).*
# color body white default ^[\-\-\-].*
# color body white default ^[\+\+\+].*
# color body green default ^[\+].*
# color body red default ^[\-].*
# color body brightblue default [@@].*
# color body cyan default ^(Signed-off-by).*
# color body brightwhite default ^(Cc)
# color body yellow default "^diff \-.*"
# color body brightwhite default "^index [a-f0-9].*"
# color body brightblue default "^---$"
# color body white default "^\-\-\- .*"
# color body white default "^[\+]{3} .*"
# color body green default "^[\+][^\+]+.*"
# color body red default "^\-[^\-]+.*"
# color body brightblue default "^@@ .*"
# color body green default "LGTM"
# color body brightmagenta default "-- Commit Summary --"
# color body brightmagenta default "-- File Changes --"
# color body brightmagenta default "-- Patch Links --"
# color body green default "^Merged #.*"
# color body red default "^Closed #.*"
# color body brightblue default "^Reply to this email.*"
# Misc -----------------------------------------------------------------------------
# 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 = " "
# hide some tags
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" \
# don't put '+' at the beginning of wrapped lines
set markers=no

View file

@ -1,214 +0,0 @@
bind generic,index,editor,pager,compose <f1> help
set abort_key = "<Esc>" # overwrite default, frankly insane, <C-g> combination
# NOTE: For operations where message/thread are both possible:
# Generally the lower-case letter will operate on the WHOLE thread
# while the upper-case letter will operate on a specific message in the thread.
# e.g. t -> tag thread / T -> tag message
# dd -> delete thread / dD -> delete message
# go 'back' with h but only close the app with q
bind index,pager,attach,browser,query,alias,compose q exit
bind pager,attach,browser,query,alias,compose h exit
# view manipulation
bind attach,browser,index,pager \CF next-page
bind attach,browser,index,pager \CB previous-page
bind attach,browser,index,pager \Cu half-up
bind attach,browser,index,pager \Cd half-down
bind browser,index,pager \Ce next-line
bind browser,index,pager \Cy previous-line
bind index zz current-middle
bind index zt current-top
bind index zb current-bottom
# line navigation
bind index,attach,browser,query G last-entry
bind index,attach,browser,query gg first-entry
bind pager G bottom
bind pager gg top
bind attach,browser,query,compose j next-entry
bind attach,browser,query,compose k previous-entry
bind index j next-undeleted
bind index k previous-undeleted
bind pager j next-line
bind pager k previous-line
bind index,pager \Cn next-entry
bind index,pager \Cp previous-entry
# tagging
macro index J <tag-thread> "tag current and select next entry"
macro index K ":set resolve=no<enter><tag-thread><previous-undeleted>:set resolve=yes<enter>" "tag current and select previous entry"
macro index t ":set resolve=no<enter><tag-thread>:set resolve=yes<enter>" "tag current thread"
macro index T ":set resolve=no<enter><tag-entry>:set resolve=yes<enter>" "tag current entry"
# # flagging
# bind index,pager ,F modify-labels
# bind index,pager ,fc clear-flag
# bind index,pager ,\cf clear-flag
# bind index,pager ,ff flag-message
# bind index ,fs toggle-new # can't toggle new WHILE reading a msg
# macro index ,S "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
# bind index,pager ,fl edit-label # set X-Label Header
# # Saner copy/move dialogs
# macro index,pager ,c "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
# macro index,pager ,m "<tag-thread><tag-prefix><save-message>?<toggle-mailboxes>" "move thread to a mailbox"
# macro index,pager ,M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# sorting
bind index <space>s sort-mailbox
bind index <space>S sort-reverse
# threads
macro index l "<display-message><skip-headers>" "display message"
macro index <return> "<display-message><skip-headers>" "display message"
bind index h collapse-thread
bind index <space><space> collapse-thread # TODO: Remove in favor of learning za?
bind pager,index + link-threads
bind pager,index - break-thread
bind pager,index gt next-thread # TODO: overwritten by go to trash
bind pager,index gT previous-thread
bind pager,index za collapse-thread
bind pager,index zA collapse-all
bind pager,index zr reconstruct-thread
bind pager,index zR entire-thread
# message manipulation
bind index,pager dD delete-message
bind index,pager dd delete-thread
bind index,pager dt delete-subthread
bind index,pager u undelete-thread
bind index,pager U undelete-message
# TODO: Figure out
# macro index D ";:set resolve=no<enter><clear-flag>!<save-message>=Archive<enter><enter><sync-mailbox><enter><enter-command>echo 'Message deleted'<enter>:set resolve=yes<enter>" "Quick Delete"
# macro index A ";:set resolve=no<enter><clear-flag>!<save-message>=Archive<enter><enter><sync-mailbox><enter><enter-command>echo 'Message archived'<enter>:set resolve=yes<enter>" "Quick Archive"
# search navigation
bind generic,index,attach,browser,pager n search-next # next result
bind generic,index,attach,browser,pager N search-opposite # previous result
bind generic,index / search
bind generic,index ? search-reverse
bind index,alias,query \C_ limit # ^/ to search and limit
bind index \\ vfolder-from-query # notmuch search
macro index <space>/ "<limit>all\n" "show all messages (undo limit)"
bind index ,/ show-limit
# sidebar and folders
macro index,pager <space>f "<change-folder>?" "change folder"
macro index,pager <space>F "<change-vfolder>?" "change virtual folder"
bind browser,query <return> select-entry
bind browser,query l select-entry
bind index,pager <space>e sidebar-toggle-visible # TODO: or map to L?
bind index,pager <space>E sidebar-toggle-virtual
bind index,pager e sidebar-open
bind index,pager ] sidebar-next
bind index,pager [ sidebar-prev
bind index,pager } sidebar-next-new
bind index,pager { sidebar-prev-new
# message functions
# send to editor or send to editor with ALL headers etc
macro index,pager <space>h "<pipe-message>nvim '+setlocal buftype=nofile'<enter>" "send message to editor"
bind index,pager <space>H view-raw-message
bind index,pager H display-toggle-weed
bind index,pager v view-attachments
bind index,pager,attach,compose | pipe-message
# reading a message
bind pager ,q toggle-quoted
# editor
bind editor <left> backward-char
bind editor <right> forward-char
bind editor \cb backward-char
bind editor \cf forward-char
bind editor \ca bol
bind editor \ce eol
bind editor \cw kill-word
bind editor \cu kill-line
bind editor <up> history-up
bind editor <down> history-down
bind editor \cp history-up
bind editor \cn history-down
bind editor \cr history-search
# address book functions
bind editor <Tab> complete-query
bind editor \ct complete
# add contact to Khard address book
macro index,pager ,a \
"<pipe-message>khard add-email<return>" \
"add the sender email address to khard"
# sending
bind index,pager mm mail
bind index,pager mM recall-message # edit last from drafts
bind index,pager,attach mr group-reply # answer all
bind index,pager,attach mR reply # answer SINGLE person
bind index,pager,attach mf forward-message
# composing
bind compose y send-message
bind compose e edit-message
bind compose p print-entry
bind compose P postpone-message
bind compose ,t edit-to
bind compose ,y edit-type
bind compose ,f edit-from
bind compose ,s edit-subject
bind compose ,c edit-cc
bind compose ,b edit-bcc
bind compose ,p edit-fcc
bind compose c pgp-menu
bind compose r rename-file
bind compose | filter-entry # TODO: figure out the difference to pipe-entry
bind compose K move-up
bind compose J move-down
macro compose a '<enter-command>source "neomutt-filer attach"|<enter>' "Attach with file manager"
bind compose d edit-description
bind compose D detach-file
bind compose l view-attach
bind compose <return> view-attach
bind compose t tag-entry
bind compose gg group-alternatives
bind compose gr group-related
bind compose gl group-multilingual
bind compose gu ungroup-attachment
# manage attachments
macro attach s '<enter-command>source "neomutt-filer saveto ~/downloads"|<enter>' "Save attachment to dir"
bind attach <return> view-mailcap
bind attach l view-mailcap
# mailbox navigation
macro index,pager gi "<change-vfolder>Inbox<enter>" "go to inbox"
macro index,pager gs "<change-vfolder>Sent<enter>" "go to sent"
macro index,pager gd "<change-vfolder>Drafts<enter>" "go to drafts"
macro index,pager gt "<change-vfolder>Trash<enter>" "go to trash"
macro index,pager ga "<change-vfolder>Archive<enter>" "go to archive"
macro index,pager gr "<change-vfolder>Receipts<enter>" "go to receipts"
macro index,pager gj "<change-vfolder>Jobs<enter>" "go to jobs"
#### Misc functions and macros
# Refresh far imap email
macro index,pager O "<sync-mailbox><shell-escape>export MBSYNC_PRE=true; neomutt-syncmail<enter>" "refresh all e-mail"
# Send mail to taskwarrior
macro index,pager ,t "<pipe-message>neomutt-2task -c -d -t<enter>" "add mail to taskwarrior"
macro index,pager ,T "<pipe-message>neomutt-2task -c<enter>" "quickadd mail to taskwarrior"
# Write (djot-flavored) markdown and instantly transform it into a TXT/HTML result
# HTML-enabled email readers display that and others can still enjoy a txt representation
macro compose ,m \
"<enter-command>set pipe_decode<enter>\
<pipe-message>pandoc -f gfm -t plain -o /tmp/msg.txt<enter>\
<pipe-message>pandoc -s -f gfm --standalone --embed-resources -o /tmp/msg.html --template email<enter>\
<enter-command>unset pipe_decode<enter>\
<attach-file>/tmp/msg.txt<enter>\
<attach-file>/tmp/msg.html<enter>\
<tag-entry><previous-entry><tag-entry><group-alternatives>" \
"Convert markdown to HTML5 and plaintext alternative content types"
# # open urls found in the e-mail
# macro index,pager \CU "<enter-command> unset pipe_decode<enter><pipe-message>extract_url | fzf | clip<enter>" "get URLs"

View file

@ -1,263 +0,0 @@
# Unbind everything.. the defaults suck balls and do crazy things
bind generic,pager,editor,index,compose,browser,attach | noop
bind generic,pager,editor,index,compose,browser,attach a noop
bind generic,pager,editor,index,compose,browser,attach b noop
bind generic,pager,editor,index,compose,browser,attach c noop
bind generic,pager,editor,index,compose,browser,attach d noop
bind generic,pager,editor,index,compose,browser,attach e noop
bind generic,pager,editor,index,compose,browser,attach f noop
bind generic,pager,editor,index,compose,browser,attach g noop
bind generic,pager,editor,index,compose,browser,attach h noop
bind generic,pager,editor,index,compose,browser,attach i noop
bind generic,pager,editor,index,compose,browser,attach j noop
bind generic,pager,editor,index,compose,browser,attach k noop
bind generic,pager,editor,index,compose,browser,attach l noop
bind generic,pager,editor,index,compose,browser,attach m noop
bind generic,pager,editor,index,compose,browser,attach n noop
bind generic,pager,editor,index,compose,browser,attach o noop
bind generic,pager,editor,index,compose,browser,attach p noop
bind generic,pager,editor,index,compose,browser,attach r noop
bind generic,pager,editor,index,compose,browser,attach s noop
bind generic,pager,editor,index,compose,browser,attach t noop
bind generic,pager,editor,index,compose,browser,attach u noop
bind generic,pager,editor,index,compose,browser,attach v noop
bind generic,pager,editor,index,compose,browser,attach w noop
bind generic,pager,editor,index,compose,browser,attach x noop
bind generic,pager,editor,index,compose,browser,attach y noop
bind generic,pager,editor,index,compose,browser,attach z noop
bind generic,pager,editor,index,compose,browser,attach A noop
bind generic,pager,editor,index,compose,browser,attach B noop
bind generic,pager,editor,index,compose,browser,attach C noop
bind generic,pager,editor,index,compose,browser,attach D noop
bind generic,pager,editor,index,compose,browser,attach E noop
bind generic,pager,editor,index,compose,browser,attach F noop
bind generic,pager,editor,index,compose,browser,attach G noop
bind generic,pager,editor,index,compose,browser,attach H noop
bind generic,pager,editor,index,compose,browser,attach I noop
bind generic,pager,editor,index,compose,browser,attach J noop
bind generic,pager,editor,index,compose,browser,attach K noop
bind generic,pager,editor,index,compose,browser,attach L noop
bind generic,pager,editor,index,compose,browser,attach M noop
bind generic,pager,editor,index,compose,browser,attach N noop
bind generic,pager,editor,index,compose,browser,attach O noop
bind generic,pager,editor,index,compose,browser,attach P noop
bind generic,pager,editor,index,compose,browser,attach Q noop
bind generic,pager,editor,index,compose,browser,attach R noop
bind generic,pager,editor,index,compose,browser,attach S noop
bind generic,pager,editor,index,compose,browser,attach T noop
bind generic,pager,editor,index,compose,browser,attach U noop
bind generic,pager,editor,index,compose,browser,attach V noop
bind generic,pager,editor,index,compose,browser,attach W noop
bind generic,pager,editor,index,compose,browser,attach X noop
bind generic,pager,editor,index,compose,browser,attach Y noop
bind generic,pager,editor,index,compose,browser,attach Z noop
bind generic,pager,editor,index,compose,browser,attach <Tab> noop
bind generic,pager,editor,index,compose,browser,attach <Space> noop
bind generic,pager,editor,index,compose,browser,attach <PageUp> noop
bind generic,pager,editor,index,compose,browser,attach <PageDown> noop
bind generic,pager,editor,index,compose,browser,attach <Home> noop
bind generic,pager,editor,index,compose,browser,attach <End> noop
bind generic,pager,editor,index,compose,browser,attach <Insert> noop
bind generic,pager,editor,index,compose,browser,attach <Delete> noop
bind generic,pager,index,compose,browser,attach <Up> noop
bind generic,pager,index,compose,browser,attach <Down> noop
bind generic,pager,editor,index,compose,browser,attach <Left> noop
bind generic,pager,editor,index,compose,browser,attach <Right> noop
bind generic,pager,editor,index,compose,browser,attach <Enter> noop
bind generic,pager,editor,index,compose,browser,attach <Return> noop
bind generic,pager,editor,index,compose,browser,attach 1 noop
bind generic,pager,editor,index,compose,browser,attach 2 noop
bind generic,pager,editor,index,compose,browser,attach 3 noop
bind generic,pager,editor,index,compose,browser,attach 4 noop
bind generic,pager,editor,index,compose,browser,attach 5 noop
bind generic,pager,editor,index,compose,browser,attach 6 noop
bind generic,pager,editor,index,compose,browser,attach 7 noop
bind generic,pager,editor,index,compose,browser,attach 8 noop
bind generic,pager,editor,index,compose,browser,attach 9 noop
bind generic,pager,editor,index,compose,browser,attach 0 noop
bind generic,pager,editor,index,compose,browser,attach ! noop
bind generic,pager,editor,index,compose,browser,attach @ noop
bind generic,pager,editor,index,compose,browser,attach $ noop
bind generic,pager,editor,index,compose,browser,attach % noop
bind generic,pager,editor,index,compose,browser,attach ^ noop
bind generic,pager,editor,index,compose,browser,attach & noop
bind generic,pager,editor,index,compose,browser,attach * noop
bind generic,pager,editor,index,compose,browser,attach ( noop
bind generic,pager,editor,index,compose,browser,attach ) noop
bind generic,pager,editor,index,compose,browser,attach \Ca noop
bind generic,pager,editor,index,compose,browser,attach \Cb noop
bind generic,pager,editor,index,compose,browser,attach \Cc noop
bind generic,pager,editor,index,compose,browser,attach \Cd noop
bind generic,pager,editor,index,compose,browser,attach \Ce noop
bind generic,pager,editor,index,compose,browser,attach \Cf noop
bind generic,pager,editor,index,compose,browser,attach \Cg noop
bind generic,pager,editor,index,compose,browser,attach \Ch noop
bind generic,pager,editor,index,compose,browser,attach \Ci noop
bind generic,pager,editor,index,compose,browser,attach \Cj noop
bind generic,pager,editor,index,compose,browser,attach \Ck noop
bind generic,pager,editor,index,compose,browser,attach \Cl noop
bind generic,pager,editor,index,compose,browser,attach \Cm noop
bind generic,pager,editor,index,compose,browser,attach \Cn noop
bind generic,pager,editor,index,compose,browser,attach \Co noop
bind generic,pager,editor,index,compose,browser,attach \Cp noop
bind generic,pager,editor,index,compose,browser,attach \Cq noop
bind generic,pager,editor,index,compose,browser,attach \Cr noop
bind generic,pager,editor,index,compose,browser,attach \Cs noop
bind generic,pager,editor,index,compose,browser,attach \Ct noop
bind generic,pager,editor,index,compose,browser,attach \Cv noop
bind generic,pager,editor,index,compose,browser,attach \Cw noop
bind generic,pager,editor,index,compose,browser,attach \Cxe noop
bind generic,pager,editor,index,compose,browser,attach \Cx noop
bind generic,pager,editor,index,compose,browser,attach \Cy noop
bind generic,pager,editor,index,compose,browser,attach \Cz noop
bind generic,pager,editor,index,compose,browser,attach \CA noop
bind generic,pager,editor,index,compose,browser,attach \CB noop
bind generic,pager,editor,index,compose,browser,attach \CC noop
bind generic,pager,editor,index,compose,browser,attach \CD noop
bind generic,pager,editor,index,compose,browser,attach \CE noop
bind generic,pager,editor,index,compose,browser,attach \CF noop
bind generic,pager,editor,index,compose,browser,attach \CG noop
bind generic,pager,editor,index,compose,browser,attach \CH noop
bind generic,pager,editor,index,compose,browser,attach \CI noop
bind generic,pager,editor,index,compose,browser,attach \CJ noop
bind generic,pager,editor,index,compose,browser,attach \CK noop
bind generic,pager,editor,index,compose,browser,attach \CL noop
bind generic,pager,editor,index,compose,browser,attach \CM noop
bind generic,pager,editor,index,compose,browser,attach \CN noop
bind generic,pager,editor,index,compose,browser,attach \CO noop
bind generic,pager,editor,index,compose,browser,attach \CP noop
bind generic,pager,editor,index,compose,browser,attach \CQ noop
bind generic,pager,editor,index,compose,browser,attach \CR noop
bind generic,pager,editor,index,compose,browser,attach \CS noop
bind generic,pager,editor,index,compose,browser,attach \CT noop
bind generic,pager,editor,index,compose,browser,attach \CV noop
bind generic,pager,editor,index,compose,browser,attach \CW noop
bind generic,pager,editor,index,compose,browser,attach \CX noop
bind generic,pager,editor,index,compose,browser,attach \CY noop
bind generic,pager,editor,index,compose,browser,attach \CZ noop
bind generic,pager,editor,index,compose,browser,attach \C<Tab> noop
bind generic,pager,editor,index,compose,browser,attach \C<Space> noop
bind generic,pager,editor,index,compose,browser,attach \C<PageUp> noop
bind generic,pager,editor,index,compose,browser,attach \C<PageDown> noop
bind generic,pager,editor,index,compose,browser,attach \C<Home> noop
bind generic,pager,editor,index,compose,browser,attach \C<End> noop
bind generic,pager,editor,index,compose,browser,attach \C<Insert> noop
bind generic,pager,editor,index,compose,browser,attach \C<Delete> noop
bind generic,pager,editor,index,compose,browser,attach \C<Up> noop
bind generic,pager,editor,index,compose,browser,attach \C<Down> noop
bind generic,pager,editor,index,compose,browser,attach \C<Left> noop
bind generic,pager,editor,index,compose,browser,attach \C<Right> noop
bind generic,pager,editor,index,compose,browser,attach \C<Enter> noop
bind generic,pager,editor,index,compose,browser,attach \C<Return> noop
bind generic,pager,editor,index,compose,browser,attach \C1 noop
bind generic,pager,editor,index,compose,browser,attach \C2 noop
bind generic,pager,editor,index,compose,browser,attach \C3 noop
bind generic,pager,editor,index,compose,browser,attach \C4 noop
bind generic,pager,editor,index,compose,browser,attach \C5 noop
bind generic,pager,editor,index,compose,browser,attach \C6 noop
bind generic,pager,editor,index,compose,browser,attach \C7 noop
bind generic,pager,editor,index,compose,browser,attach \C8 noop
bind generic,pager,editor,index,compose,browser,attach \C9 noop
bind generic,pager,editor,index,compose,browser,attach \C0 noop
bind generic,pager,editor,index,compose,browser,attach \C! noop
bind generic,pager,editor,index,compose,browser,attach \C$ noop
bind generic,pager,editor,index,compose,browser,attach \C% noop
bind generic,pager,editor,index,compose,browser,attach \C^ noop
bind generic,pager,editor,index,compose,browser,attach \C& noop
bind generic,pager,editor,index,compose,browser,attach \C* noop
bind generic,pager,editor,index,compose,browser,attach \C( noop
bind generic,pager,editor,index,compose,browser,attach \C) noop
bind generic,pager,editor,index,compose,browser,attach <Esc>a noop
bind generic,pager,editor,index,compose,browser,attach <Esc>b noop
bind generic,pager,editor,index,compose,browser,attach <Esc>c noop
bind generic,pager,editor,index,compose,browser,attach <Esc>d noop
bind generic,pager,editor,index,compose,browser,attach <Esc>e noop
bind generic,pager,editor,index,compose,browser,attach <Esc>f noop
bind generic,pager,editor,index,compose,browser,attach <Esc>g noop
bind generic,pager,editor,index,compose,browser,attach <Esc>h noop
bind generic,pager,editor,index,compose,browser,attach <Esc>i noop
bind generic,pager,editor,index,compose,browser,attach <Esc>j noop
bind generic,pager,editor,index,compose,browser,attach <Esc>k noop
bind generic,pager,editor,index,compose,browser,attach <Esc>l noop
bind generic,pager,editor,index,compose,browser,attach <Esc>m noop
bind generic,pager,editor,index,compose,browser,attach <Esc>n noop
bind generic,pager,editor,index,compose,browser,attach <Esc>o noop
bind generic,pager,editor,index,compose,browser,attach <Esc>p noop
bind generic,pager,editor,index,compose,browser,attach <Esc>q noop
bind generic,pager,editor,index,compose,browser,attach <Esc>r noop
bind generic,pager,editor,index,compose,browser,attach <Esc>s noop
bind generic,pager,editor,index,compose,browser,attach <Esc>t noop
bind generic,pager,editor,index,compose,browser,attach <Esc>u noop
bind generic,pager,editor,index,compose,browser,attach <Esc>v noop
bind generic,pager,editor,index,compose,browser,attach <Esc>w noop
bind generic,pager,editor,index,compose,browser,attach <Esc>x noop
bind generic,pager,editor,index,compose,browser,attach <Esc>y noop
bind generic,pager,editor,index,compose,browser,attach <Esc>z noop
bind generic,pager,editor,index,compose,browser,attach <Esc>A noop
bind generic,pager,editor,index,compose,browser,attach <Esc>B noop
bind generic,pager,editor,index,compose,browser,attach <Esc>C noop
bind generic,pager,editor,index,compose,browser,attach <Esc>D noop
bind generic,pager,editor,index,compose,browser,attach <Esc>E noop
bind generic,pager,editor,index,compose,browser,attach <Esc>F noop
bind generic,pager,editor,index,compose,browser,attach <Esc>G noop
bind generic,pager,editor,index,compose,browser,attach <Esc>H noop
bind generic,pager,editor,index,compose,browser,attach <Esc>I noop
bind generic,pager,editor,index,compose,browser,attach <Esc>J noop
bind generic,pager,editor,index,compose,browser,attach <Esc>K noop
bind generic,pager,editor,index,compose,browser,attach <Esc>L noop
bind generic,pager,editor,index,compose,browser,attach <Esc>M noop
bind generic,pager,editor,index,compose,browser,attach <Esc>N noop
bind generic,pager,editor,index,compose,browser,attach <Esc>O noop
bind generic,pager,editor,index,compose,browser,attach <Esc>P noop
bind generic,pager,editor,index,compose,browser,attach <Esc>Q noop
bind generic,pager,editor,index,compose,browser,attach <Esc>R noop
bind generic,pager,editor,index,compose,browser,attach <Esc>S noop
bind generic,pager,editor,index,compose,browser,attach <Esc>T noop
bind generic,pager,editor,index,compose,browser,attach <Esc>U noop
bind generic,pager,editor,index,compose,browser,attach <Esc>V noop
bind generic,pager,editor,index,compose,browser,attach <Esc>W noop
bind generic,pager,editor,index,compose,browser,attach <Esc>X noop
bind generic,pager,editor,index,compose,browser,attach <Esc>Y noop
bind generic,pager,editor,index,compose,browser,attach <Esc>Z noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Tab> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Space> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><PageUp> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><PageDown> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Home> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><End> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Insert> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Delete> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Up> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Down> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Left> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Right> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Enter> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Return> noop
bind generic,pager,editor,index,compose,browser,attach <Esc>1 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>2 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>3 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>4 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>5 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>6 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>7 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>8 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>9 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>0 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>! noop
bind generic,pager,editor,index,compose,browser,attach <Esc>@ noop
bind generic,pager,editor,index,compose,browser,attach <Esc>$ noop
bind generic,pager,editor,index,compose,browser,attach <Esc>% noop
bind generic,pager,editor,index,compose,browser,attach <Esc>^ noop
bind generic,pager,editor,index,compose,browser,attach <Esc>& noop
bind generic,pager,editor,index,compose,browser,attach <Esc>* noop
bind generic,pager,editor,index,compose,browser,attach <Esc>( noop
bind generic,pager,editor,index,compose,browser,attach <Esc>) noop

View file

@ -1,33 +0,0 @@
# open html emails in browser (or whatever GUI program is used to render HTML)
text/html; open %s ; nametemplate=%s.html
# render html emails inline using magic (uncomment the line below to use lynx instead)
# text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -collapse_br_tags -dump %s; nametemplate=%s.html; copiousoutput
text/html; neomutt-renderhtml %s; nametemplate=%s.html; copiousoutput;
text/plain; $EDITOR %s ;
# show calendar invites
text/calendar; mutt-ics; description=ics details; copiousoutput; print=khal import %s; needsterminal
application/ics; mutt-ics; description=ics details; copiousoutput; print=khal import %s; needsterminal
# open images externally
image/*; imv %s ;
# open videos in mpv
video/*; mpv --autofit-larger=90\%x90\% %s; needsterminal;
video/*; setsid mpv --quiet %s &; copiousoutput
# open spreadsheets in sc-im
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; sc-im %s; needsterminal
# documents
application/pdf; pdftotext -layout %s -; copiousoutput; print=open %s
application/msword; pandoc --from docx --to plain %s; copiousoutput
application/vnd.openxmlformats-officedocument.wordprocessingml.document; pandoc --from odt --to plain %s; copiousoutput
application/rtf; pandoc --from rtf --to plain %s; copiousoutput
application/pgp-encrypted; gpg -d '%s'; copiousoutput;
application/pgp-keys; gpg --import '%s'; copiousoutput;
# open anything else externally
application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; open /tmp/mutt/$(basename %s) &

View file

@ -1,71 +0,0 @@
source colors
source settings
source keys/unbind
source keys/bind
source account
################## notmuch settings
# index notmuch on start and exit
startup-hook "`command -v notmuch && notmuch new 2>/dev/null`"
shutdown-hook "`command -v notmuch && notmuch new 2>/dev/null`"
# whenever changing directory fetch changes
folder-hook notmuch:// "push '<shell-escape>notmuch new >/dev/null<enter>'"
set nm_query_type = "threads"
set nm_exclude_tags = "spam"
set nm_record = yes
set nm_record_tags = "-inbox,archive"
virtual-mailboxes "Inbox" "notmuch://?query=folder:Inbox" \
"Unread" "notmuch://?query=tag:unread" \
"Archive" "notmuch://?query=folder:Archive" \
"Drafts" "notmuch://?query=folder:Drafts" \
"Sent" "notmuch://?query=folder:Sent" \
"Jobs" "notmuch://Jobs?query=folder:Jobs" \
"Receipts" "notmuch://?query=folder:Receipts" \
"Junk" "notmuch://?query=folder:Junk" \
"github" "notmuch://?query=tag:github" \
"bemoji" "notmuch://?query=tag:bemoji"\
"All" "notmuch://?query=*"\
"Trash" "notmuch://?query=folder:Trash" \
push '<change-vfolder>Inbox<enter>'
virtual-mailboxes "date/" "notmuch://?query=date:today.."\
" this week" "notmuch://?query=date:week.."\
" this month" "notmuch://?query=date:month.."
virtual-mailboxes "attach/" "notmuch://?query=attachment:\.%20not%20attachment:\.pdf"\
" with PDF" "notmuch://?query=attachment:\.pdf"\
" with JPG" "notmuch://?query=attachment:\.jpg%20or%20attachment:\.png"
# bind index,pager S modify-labels # allow +adding -removing !toggling any notmuch tags
# macro index,pager f "<modify-labels>+flagged" "Toggle flagged tag"
#
# macro index,pager ,ff "<modify-labels>!flagged<enter><sync-mailbox><shell-escape>notmuch new<enter>" "toggle flag"
macro index,pager ,ff "<modify-labels>!flagged<enter>" "toggle flag"
macro index,pager ,fi "<modify-labels>+inbox<enter><sync-mailbox>" "send to inbox"
macro index,pager R "<push> '<modify-labels>+trash<enter><shell-escape>notmuch new<enter>'" "send to trash"
bind index,pager w modify-labels
# macro index A "<modify-labels>+archive -unread -inbox<enter>"
# macro index I "<modify-labels>-inbox -unread<enter>"
# macro index S "<modify-labels>"
tag-transforms "unread" "U"
tag-formats "inbox" "GI" \
"flagged" "GF" \
"unread" "GU" \
"test" "Gt" \
color index_tags red black
set index_format="%zc %zs %zt | %-20.20L %?X?& ? %M %-30.100s %* %?GF?%GF ? %(!%a %d %h %H:%M)"
# conditional dates, showing "09:48" for today's msg, "Mon 27 Aug" for this year's msg,
# "22 Dec '24" for previous years
# set index_format="%-30.100s %* %<[y?%<[d?%[%H:%M]&%[%a %d %h]>&%[%d %h \'%y]>"
# - [ ] show 'Inbox' etc in index IF we are in query results

View file

@ -1,2 +0,0 @@
color status color3 black '(\` )' # bubble account variation
macro generic <F4> ":source ~/.config/neomutt/profile.private<enter>"

View file

@ -1,2 +0,0 @@
color status color69 black '(\` )' # bubble account variation
macro generic <F4> ":source ~/.config/neomutt/profile.gmail<enter>"

View file

@ -1,128 +0,0 @@
set mail_check = 60
set mail_check_stats
# at least for rapid prototyping
set quit
# no pause for info messages
set sleep_time = 0
# mark read (not just seen) after
set pager_read_delay = 1
# get rid of headers when passing messages along
set pipe_decode
# apply commands to all tagged messages automatically
set auto_tag
# dont wait for user input after shell cmds, auto-view, piping, etc
set wait_key = no
# dont pre-process mail for ~b/~B searches
set thorough_search = no
# make it impossible to delete flagged mails
set flag_safe
################### Pager settings
# filetypes and mailcap
set mailcap_path = "~/.config/neomutt/mailcap:~/.mailcap:/usr/share/neomutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"
# Consult mime.types for determining types of these attachments
mime_lookup application/octet-stream
# This requires a ~/.mailcap entry with the copiousoutput flag, such as:
# text/html; lynx -dump -width ${COLUMNS:-80} %s; nametemplate=%s.html; copiousoutput
auto_view application/ics
auto_view text/calendar
auto_view text/plain
auto_view text/html
# Prefer plain text to html but multipart to plain for those only sending that
alternative_order text/calendar application/ics text/plain text/enriched text/html multipart/mixed multipart/related text/plain text/*
# look for attachments also in multipart/alternatives
set count_alternatives = yes
# AFAIK we do not have to manually ensure dir existence
set header_cache= "~/.cache/neomutt/hcache/"
# recommended https://github.com/neomutt/neomutt/issues/3259#issuecomment-1043693471
set header_cache_backend = "lmdb"
set header_cache_compress_method = "lz4"
set header_cache_compress_level = 9
################### Compose settings
# allow editing headers while writing mail
set edit_headers
# separate signature from mail
set sig_dashes
# automatically fill in from and subject for replies
set fast_reply
# subject for forwarding
set forward_format = "Fwd: %s"
# default send back to reply-to: header instead of from: header
set reply_to
# default to reply as person e-mail was originally sent to
set reverse_name
# include original msg in reply
set include
# include original msg as quote in fwd
set forward_quote
# forward attachments with mail
set mime_forward = no
# attachments saved with body
set fcc_attach
# we use mimeo in this house
set mime_type_query_command = "mimeo -m"
# send settings
set sendmail = "/usr/bin/msmtp"
set sendmail_wait = 10
# spellchecker
set ispell = "enchant-2 -a"
################## Display Settings
# allow escape codes for color etc
set allow_ansi
# thread based on the regexes below
set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
set quote_regex = "^( {0,4}[>|:#%]| {0,4}[A-Za-z0-9]+[>|]+)+"
#### Thread ordering
set use_threads=reverse
set sort='last-date'
set sort_aux = date
set collapse_all = yes
set uncollapse_new = no
set thread_received = yes
set narrow_tree = yes
# sidebar view options
set sidebar_width = 20
set sidebar_visible = no
set sidebar_component_depth = 0
set sidebar_divider_char = '│'
set sidebar_next_new_wrap = yes
set sidebar_sort = 'unsorted'
# Shorten mailbox names
set sidebar_short_path = yes
# Delete everything up to the last / character
set sidebar_delim_chars="/"
# Indent folders whose names we've shortened
set sidebar_folder_indent = yes
# Indent with two spaces
# set sidebar_indent_string = ' - '
set sidebar_indent_string=" "
# statusbar view options
set status_chars = " *%A"
# pager view options
set pager_index_lines = 10
set pager_context = 3
# do not go to next msg if at bottom of pager
set pager_stop
set menu_scroll = yes
# show tildes for blank lines
set tilde
# no + markers if a line goes off-screen
unset markers
set wrap = 100
# hide headers except for those explicitly unignored
ignore *
unignore From To Cc Bcc Date Subject Message-ID
unhdr_order *
unignore From To Cc Bcc Date Subject Message-ID
# TODO: Remove stderr ignore when khard fixes its deprecation warnings
# https://github.com/lucc/khard/issues/335
set query_command = "khard email --parsable --search-in-source-files '%s' 2>/dev/null"
# Makes notmuch return threads rather than messages
set nm_query_type = "threads"