diff --git a/wiki/linux/neomutt.md b/wiki/linux/neomutt.md index 1ef2f9c..eb0cf4b 100644 --- a/wiki/linux/neomutt.md +++ b/wiki/linux/neomutt.md @@ -5,32 +5,19 @@ It can be easily configured using mutt-wizard. ## Setup -### Arch-Linux +### setup with nutt-wizard -- `yay -S neomutt isync msmtp pass` - Install all dependecies +- Install the dependecies: `neomutt`, `isync`, `msmtp`, `pass` - Install mutt-wizard from [github](https://github.com/LukeSmithxyz/mutt-wizard) -(AUR is not up to date) + (AUR is not up to date) -#### Using mutt-wizard +After installation you're able to use the commands described on mutt-wizards +github page. +You need to add the mail accounts you want to have in mutt. -After installation you're able to use the following commands, that will guide -you through configuration. +- `mbsync -a` - updates all mail-accounts -`mw add` to add mailaccounts - -`mw ls` to list existing ones - -`mw pass` to revise passwords - -`mw delete` to delete accounts - -`mw purge` to delete all accounts and settings - -`mw cron` toggle a cronjob to sync mail - -## Usage - -## Khard in NeoMutt +### Khard in NeoMutt - Edit `~/.config/mutt/muttrc` - Append the following lines. @@ -46,3 +33,98 @@ macro index,pager A \ - You should now be able to tab-complete email-addresses in neomutt - You can also add new ones by pressing A + +### Basic config + +- Edit `~/.config/mutt/muttrc` + + - If you installed with mutt-wizard remove or comment out the lines + `source /usr/local/share/mutt-wizard/mutt-wizard.muttrc # mw-autogenerated` + - Add `source ~/.config/mutt/custom.muttrc` + - Create the file `~/.config/mutt/custom.muttrc` and insert the lines: + + ```txt + set mailcap_path = /usr/local/share/mutt-wizard/mailcap + set date_format="%y/%m/%d %I:%M%p" + set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)" + set sort = 'reverse-date' + set smtp_authenticators = 'gssapi:login' + set query_command = "abook --mutt-query '%s'" + set rfc2047_parameters = yes + set sleep_time = 0 # Pause 0 seconds for informational messages + set markers = no # Disables the `+` displayed at line wraps + set mark_old = no # Unread mail stay unread until read + set mime_forward = yes # attachments are forwarded with mail + set wait_key = no # mutt won't ask "press key to continue" + set fast_reply # skip to compose when replying + set fcc_attach # save attachments with the body + set forward_format = "Fwd: %s" # format of subject when forwarding + set forward_quote # include message in forwards + set reverse_nam # reply as whomever it was to + set include # include message in replies + set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example) + auto_view text/html # automatically show html (mailcap uses w3m) + auto_view application/pgp-encrypted + alternative_order text/plain text/enriched text/html + bind index,pager i noop + bind index,pager g noop + bind index \Cf noop + + # General rebindings + bind index j next-entry + bind index k previous-entry + bind attach view-mailcap + bind attach l view-mailcap + bind editor noop + bind index G last-entry + 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 index tag-entry + #bind browser h goto-parent + macro browser h '..' "Go to parent folder" + bind index,pager H view-raw-message + 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 S sync-mailbox + 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 + + macro index,pager a "set my_pipe_decode=\$pipe_decode pipe_decodeabook --add-emailset pipe_decode=\$my_pipe_decode; unset my_pipe_decode" "add the sender address to abook" + macro index \Cr "T~UN." "mark all messages as read" + macro index O "mbsync -a" "run mbsync to sync all mail" + macro index \Cf "unset wait_keyread -p 'Enter a search term to find with notmuch: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"" "show only messages matching a notmuch pattern" + macro index A "all\n" "show all messages (undo limit)" + + # Sidebar mappings + set sidebar_visible = yes + set sidebar_width = 20 + set sidebar_short_path = yes + set sidebar_next_new_wrap = yes + set mail_check_stats + set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?' + 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 + + 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<>\"]" + ```