From c6c44a8e95c6fb91ca12d897ba935c4326035956 Mon Sep 17 00:00:00 2001 From: Tobias Schmidl <5060861-schtobia@users.noreply.gitlab.com> Date: Mon, 30 Jan 2023 07:14:07 +0100 Subject: [PATCH] [neomutt] added basic config Shamelessly copied from https://gideonwolfe.com/posts/workflow/neomutt/intro/ --- .config/neomutt/accounts/example | 27 ++++++++++++ .config/neomutt/colors | 70 +++++++++++++++++++++++++++++++ .config/neomutt/mailcap | 3 ++ .config/neomutt/mappings.example | 58 +++++++++++++++++++++++++ .config/neomutt/neomuttrc.example | 9 ++++ .config/neomutt/settings | 68 ++++++++++++++++++++++++++++++ 6 files changed, 235 insertions(+) create mode 100644 .config/neomutt/accounts/example create mode 100644 .config/neomutt/colors create mode 100644 .config/neomutt/mailcap create mode 100644 .config/neomutt/mappings.example create mode 100644 .config/neomutt/neomuttrc.example create mode 100644 .config/neomutt/settings diff --git a/.config/neomutt/accounts/example b/.config/neomutt/accounts/example new file mode 100644 index 0000000..9d36418 --- /dev/null +++ b/.config/neomutt/accounts/example @@ -0,0 +1,27 @@ +# vi: filetype=muttrc +unmailboxes * + +# in/out mail servers +set realname = "$my_name" +set imap_pass = "SOME_PASSWORD" +set smtp_url = "smtps://you@somedomain.com@mailserver.com:465" +set smtp_pass = "SOME_PASSWORD" +set folder = "imaps://you@somedomain.com@mailserver.com:993" +set spoolfile = "+INBOX" + +set from = "you@somedomain.com" +set envelope_from +set use_from = "yes" +set record = "+Sent" +set trash = "+Trash" +set postponed = "+Drafts" +set mail_check = 6 + +# Allow Mutt to open a new IMAP connection automatically. +unset imap_passive + +# Keep the IMAP connection alive by polling intermittently (time in seconds). +set imap_keepalive = 300 + +## Hook -- IMPORTANT! +account-hook $folder "set imap_pass=SOME_PASSWORD"m diff --git a/.config/neomutt/colors b/.config/neomutt/colors new file mode 100644 index 0000000..598f8c2 --- /dev/null +++ b/.config/neomutt/colors @@ -0,0 +1,70 @@ +# vim: filetype=muttrc + +# Header colors: +color header blue default ".*" +color header brightmagenta default "^(From)" +color header brightcyan default "^(Subject)" +color header brightwhite default "^(CC|BCC)" + +mono bold bold +mono underline underline +mono indicator reverse +mono error bold +color normal default default +color indicator brightyellow default # currently selected message. default makes bar clear, disabled arrow to save space. +color sidebar_highlight red default +color sidebar_divider brightblack black +color sidebar_flagged red black +color sidebar_new green black +color normal brightyellow default +color error red default +color tilde black default +color message cyan default +color markers red white +color attachment white default +color search brightmagenta default +color status brightyellow black +color hdrdefault brightgreen default +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 brightgreen default +color bold black default +color underline black default +color normal default default + +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 '.*' +color index_author red default '.*' +color index_number blue default +color index_subject cyan default '.*' + +# For new mail: +color index brightyellow black "~N" +color index_author brightred black "~N" +color index_subject brightcyan black "~N" + +color progress black cyan diff --git a/.config/neomutt/mailcap b/.config/neomutt/mailcap new file mode 100644 index 0000000..a54ae0f --- /dev/null +++ b/.config/neomutt/mailcap @@ -0,0 +1,3 @@ +# HTML +text/html; w3m -I %{charset} -T text/html; copiousoutput; +text/plain; nvim %s diff --git a/.config/neomutt/mappings.example b/.config/neomutt/mappings.example new file mode 100644 index 0000000..dde38a6 --- /dev/null +++ b/.config/neomutt/mappings.example @@ -0,0 +1,58 @@ +# vi: filetype=muttrc + +# General rebindings +bind attach view-mailcap +bind attach l view-mailcap +bind editor noop +bind pager c imap-fetch-mail +bind index G last-entry +bind index g noop +bind index gg first-entry +bind pager,attach h exit +bind pager j next-line +bind pager k previous-line +bind pager l view-attachments +bind index D delete-message +bind index U undelete-message +bind index L limit +bind index h noop +bind index l display-message +bind browser h goto-parent +bind browser l select-entry +bind pager,browser gg top-page +bind pager,browser G bottom-page +bind index,pager,browser d half-down +bind index,pager,browser u half-up +bind index,pager R group-reply +bind index \031 previous-undeleted # Mouse wheel +bind index \005 next-undeleted # Mouse wheel +bind pager \031 previous-line # Mouse wheel +bind pager \005 next-line # Mouse wheel +bind editor complete-query + + +# sidebar mappings +bind index,pager \Ck sidebar-prev +bind index,pager \Cj sidebar-next +bind index,pager \Co sidebar-open +bind index,pager \Cp sidebar-prev-new +bind index,pager \Cn sidebar-next-new +bind index,pager B sidebar-toggle-visible + +# global index and pager shortcuts +bind index,pager @ compose-to-sender +bind index,pager D purge-message +bind index sync-mailbox +bind index collapse-thread + +# Email completion bindings +bind editor complete-query +bind editor ^T complete + +# Press A to add contact to Khard address book +macro index,pager A \ + "khard add-email" \ + "add the sender email address to khard" + +## Shortcuts +macro index,pager 'source ~/.config/neomutt/accounts/example!' diff --git a/.config/neomutt/neomuttrc.example b/.config/neomutt/neomuttrc.example new file mode 100644 index 0000000..8d135b4 --- /dev/null +++ b/.config/neomutt/neomuttrc.example @@ -0,0 +1,9 @@ +# vim: filetype=muttrc + +source ~/.config/neomutt/settings +source ~/.config/neomutt/colors +source ~/.config/neomutt/mappings + +# Accounts +source ~/.config/neomutt/accounts/example +folder-hook $folder 'source ~/.config/neomutt/accounts/example' diff --git a/.config/neomutt/settings b/.config/neomutt/settings new file mode 100644 index 0000000..12b060d --- /dev/null +++ b/.config/neomutt/settings @@ -0,0 +1,68 @@ +# vim: filetype=muttrc + +# set editor to neovim +set editor = "nvim" + +set my_name = "Tobias Schmidl" +set imap_check_subscribed + +# Set preffered view modes +auto_view text/html text/calendar application/ics # view html automatically +alternative_order text/html text/plain text/enriched text/* + + +# main options +set envelope_from +set edit_headers # show headers when composing +set fast_reply # skip to compose when replying +set askcc # ask for CC: +set fcc_attach # save attachments with the body +set forward_format = "Fwd: %s" # format of subject when forwarding +set forward_decode # decode when forwarding +set attribution = "On %d, %n wrote:" # format of quoting header +set reply_to # reply to Reply to: field +set reverse_name # reply as whomever it was to +set include # include message in replies +set forward_quote # include message in forwards +set text_flowed +unset sig_dashes # no dashes before sig +unset mime_forward # forward attachments as part of body +unset help # No help bar at the top of index +# set status_on_top # Status bar on top of index +set tmpdir = ~/Programs/neomutt/temp # where to keep temp files + +unset confirmappend # don't ask, just do! +set quit # don't ask, just do!! +unset mark_old # read/new is good enough for me +set beep_new # bell on new mails +set pipe_decode # strip headers and eval mimes when piping +set thorough_search # strip headers and eval mimes before searching +set timeout = 0 + +# status bar, date format, finding stuff etc. +set status_chars = " *%A" +set status_format = "[ Folder: %f ] [%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]%>─%?p?( %p postponed )?" +set date_format = "%d.%m.%Y %H:%M" +set sort = threads +set sort_aux = reverse-last-date-received +set uncollapse_jump +set sort_re +set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" +set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" +set send_charset = "utf-8:iso-8859-1:us-ascii" +set charset = "utf-8" +set arrow_cursor = "no" # Change `color indicator` depending + +# Pager View Options +set pager_index_lines = 10 # Shows 10 lines of index when pager is active +set pager_context = 3 +set pager_stop +set menu_scroll +set tilde +unset markers + +set mailcap_path = ~/.config/neomutt/mailcap +set header_cache = "~/.cache/mutt" +set message_cachedir = "~/.cache/mutt" + +#set query_command = "khard email --parsable --search-in-source-files '%s'"