From 6ca41d5c9ea738d1f5ba2f257741770ab3ff55c0 Mon Sep 17 00:00:00 2001 From: "flyingscorpio@clevo" Date: Tue, 10 May 2022 22:43:50 +0200 Subject: [PATCH] Comment out config values before trying them; make neomuttrc template and source accounts --- roles/neomutt/files/neomuttrc | 183 --------------------------- roles/neomutt/tasks/main.yml | 14 +- roles/neomutt/templates/neomuttrc.j2 | 180 ++++++++++++++++++++++++++ 3 files changed, 189 insertions(+), 188 deletions(-) delete mode 100644 roles/neomutt/files/neomuttrc create mode 100644 roles/neomutt/templates/neomuttrc.j2 diff --git a/roles/neomutt/files/neomuttrc b/roles/neomutt/files/neomuttrc deleted file mode 100644 index b3b236b..0000000 --- a/roles/neomutt/files/neomuttrc +++ /dev/null @@ -1,183 +0,0 @@ -# vim: filetype=neomuttrc - -set mailcap_path = $HOME/.config/mutt/mailcap:/usr/local/share/mutt-wizard/mailcap:$mailcap_path -set mime_type_query_command = "file --mime-type -b %s" -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_name # 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 lynx) -auto_view application/pgp-encrypted -#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages. -alternative_order text/plain text/enriched text/html - -bind index,pager i noop -bind index,pager g noop -bind index \Cf noop -bind index,pager M noop -bind index,pager C noop - -# General rebindings -bind index gg first-entry -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,query 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 gi "=INBOX" "go to inbox" -macro index,pager Mi ";=INBOX" "move mail to inbox" -macro index,pager Ci ";=INBOX" "copy mail to inbox" -macro index,pager gd "=Drafts" "go to drafts" -macro index,pager Md ";=Drafts" "move mail to drafts" -macro index,pager Cd ";=Drafts" "copy mail to drafts" -macro index,pager gj "=Junk" "go to junk" -macro index,pager Mj ";=Junk" "move mail to junk" -macro index,pager Cj ";=Junk" "copy mail to junk" -macro index,pager gt "=Trash" "go to trash" -macro index,pager Mt ";=Trash" "move mail to trash" -macro index,pager Ct ";=Trash" "copy mail to trash" -macro index,pager gs "=Sent" "go to sent" -macro index,pager Ms ";=Sent" "move mail to sent" -macro index,pager Cs ";=Sent" "copy mail to sent" -macro index,pager ga "=Archive" "go to archive" -macro index,pager Ma ";=Archive" "move mail to archive" -macro index,pager Ca ";=Archive" "copy mail to archive" - -#set crypt_autosign = yes -#set crypt_opportunistic_encrypt = yes -#set pgp_self_encrypt = yes -#set pgp_default_key = 'your@gpgemailaddre.ss' - -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 "mw -Y" "run mw -Y to sync all mail" -macro index \Cf "unset wait_keyprintf 'Enter a search term to find with notmuch: '; read 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 = '%D%?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 - -# Default index colors: -color index yellow default '.*' -color index_author red default '.*' -color index_number blue default -color index_subject cyan default '.*' - -# New mail is boldened: -color index brightyellow black "~N" -color index_author brightred black "~N" -color index_subject brightcyan black "~N" - -# Tagged mail is highlighted: -color index brightyellow blue "~T" -color index_author brightred blue "~T" -color index_subject brightcyan blue "~T" - -# Other colors and aesthetic settings: -mono bold bold -mono underline underline -mono indicator reverse -mono error bold -color normal default default -color indicator brightblack white -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 - -# Regex highlighting: -color header brightmagenta default "^From" -color header brightcyan default "^Subject" -color header brightwhite default "^(CC|BCC)" -color header blue 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<>\"]" diff --git a/roles/neomutt/tasks/main.yml b/roles/neomutt/tasks/main.yml index b2f758b..57b3921 100644 --- a/roles/neomutt/tasks/main.yml +++ b/roles/neomutt/tasks/main.yml @@ -20,11 +20,15 @@ path: ~/.config/neomutt state: directory -- name: Copy main neomuttrc files - copy: src={{ item.src }} dest={{ item.dest }} - with_items: - - {src: 'neomuttrc', dest: '~/.config/neomutt/neomuttrc'} - - {src: 'switch.neomuttrc', dest: '~/.config/neomutt/switch.neomuttrc'} +- name: Copy main neomuttrc + template: + src: neomuttrc.j2 + dest: ~/.config/neomutt/neomuttrc + +- name: Copy switch.neomuttrc + copy: + src: switch.neomuttrc + dest: ~/.config/neomutt/switch.neomuttrc - name: Create account directories file: diff --git a/roles/neomutt/templates/neomuttrc.j2 b/roles/neomutt/templates/neomuttrc.j2 new file mode 100644 index 0000000..b345421 --- /dev/null +++ b/roles/neomutt/templates/neomuttrc.j2 @@ -0,0 +1,180 @@ +#set mailcap_path = $HOME/.config/mutt/mailcap:/usr/local/share/mutt-wizard/mailcap:$mailcap_path +#set mime_type_query_command = "file --mime-type -b %s" +#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_name # 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 lynx) +#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 +#bind index,pager M noop +#bind index,pager C noop + +# General rebindings +#bind index gg first-entry +#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,query 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 gi "=INBOX" "go to inbox" +#macro index,pager Mi ";=INBOX" "move mail to inbox" +#macro index,pager Ci ";=INBOX" "copy mail to inbox" +#macro index,pager gd "=Drafts" "go to drafts" +#macro index,pager Md ";=Drafts" "move mail to drafts" +#macro index,pager Cd ";=Drafts" "copy mail to drafts" +#macro index,pager gj "=Junk" "go to junk" +#macro index,pager Mj ";=Junk" "move mail to junk" +#macro index,pager Cj ";=Junk" "copy mail to junk" +#macro index,pager gt "=Trash" "go to trash" +#macro index,pager Mt ";=Trash" "move mail to trash" +#macro index,pager Ct ";=Trash" "copy mail to trash" +#macro index,pager gs "=Sent" "go to sent" +#macro index,pager Ms ";=Sent" "move mail to sent" +#macro index,pager Cs ";=Sent" "copy mail to sent" +#macro index,pager ga "=Archive" "go to archive" +#macro index,pager Ma ";=Archive" "move mail to archive" +#macro index,pager Ca ";=Archive" "copy mail to archive" + +#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 "mw -Y" "run mw -Y to sync all mail" +#macro index \Cf "unset wait_keyprintf 'Enter a search term to find with notmuch: '; read 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 = '%D%?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 + +# Default index colors: +#color index yellow default '.*' +#color index_author red default '.*' +#color index_number blue default +#color index_subject cyan default '.*' + +# New mail is boldened: +#color index brightyellow black "~N" +#color index_author brightred black "~N" +#color index_subject brightcyan black "~N" + +# Tagged mail is highlighted: +#color index brightyellow blue "~T" +#color index_author brightred blue "~T" +#color index_subject brightcyan blue "~T" + +# Other colors and aesthetic settings: +#mono bold bold +#mono underline underline +#mono indicator reverse +#mono error bold +#color normal default default +#color indicator brightblack white +#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 + +# Regex highlighting: +#color header brightmagenta default "^From" +#color header brightcyan default "^Subject" +#color header brightwhite default "^(CC|BCC)" +#color header blue 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<>\"]" + +{% for account in accounts %} +source /home/{{ ansible_facts['env']['USER'] }}/.config/neomutt/accounts/{{ account.fulladdress }}.neomuttrc +#macro index,pager i1 'source /home/{{ ansible_facts['env']['USER'] }}/.config/neomutt/accounts/{{ account.fulladdress }}.neomuttrc!;' "switch to {{ account.fulladdress }}" +{% endfor %}