summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/mutt/accounts/Farzat.uni@outlook.com.muttrc38
-rw-r--r--.config/mutt/accounts/Farzat@outlook.com.muttrc38
-rw-r--r--.config/mutt/accounts/a@farzat.xyz.muttrc47
-rw-r--r--.config/mutt/accounts/farzat@posteo.com.muttrc47
-rw-r--r--.config/mutt/custom.muttrc31
-rw-r--r--.config/mutt/mailcap9
-rw-r--r--.config/mutt/mutt-wizard.muttrc165
-rw-r--r--.config/mutt/muttrc8
-rw-r--r--.config/mutt/switch.muttrc18
9 files changed, 401 insertions, 0 deletions
diff --git a/.config/mutt/accounts/Farzat.uni@outlook.com.muttrc b/.config/mutt/accounts/Farzat.uni@outlook.com.muttrc
new file mode 100644
index 0000000..427f507
--- /dev/null
+++ b/.config/mutt/accounts/Farzat.uni@outlook.com.muttrc
@@ -0,0 +1,38 @@
+# vim: filetype=neomuttrc
+# muttrc file for account Farzat.uni@outlook.com
+set realname = "A Farzat"
+set from = "Farzat.uni@outlook.com"
+set sendmail = "msmtp -a Farzat.uni@outlook.com"
+alias me A Farzat <Farzat.uni@outlook.com>
+set folder = "$MAILDIR/Farzat.uni@outlook.com/"
+set header_cache = "$XDG_CACHE_HOME/mutt/Farzat.uni@outlook.com/headers"
+set message_cachedir = "$XDG_CACHE_HOME/mutt/Farzat.uni@outlook.com/bodies"
+set mbox_type = Maildir
+source "$XDG_CONFIG_HOME/mutt/switch.muttrc"
+set spoolfile = +INBOX
+set postponed = +Drafts
+set trash = +Deleted
+set record = +Sent
+
+macro index o "<shell-escape>tmux split-window -dl 25% 'mailsync Farzat.uni@outlook.com'<enter>" "run mbsync to sync Farzat.uni@outlook.com"
+
+mailboxes `mdir="$MAILDIR/Farzat.uni@outlook.com/"; find "$mdir" -mindepth 1 -type d -name cur | sed -e 's:/cur$:":' -e "s:$mdir:\"=:" | sort | tr '\n' ' '`
+
+macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
+macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
+macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
+macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
+macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
+macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
+macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
+macro index,pager gt "<change-folder>=Deleted<enter>" "go to trash"
+macro index,pager Mt ";<save-message>=Deleted<enter>" "move mail to trash"
+macro index,pager Ct ";<copy-message>=Deleted<enter>" "copy mail to trash"
+macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
+macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
+macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
+macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
+macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
+macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
diff --git a/.config/mutt/accounts/Farzat@outlook.com.muttrc b/.config/mutt/accounts/Farzat@outlook.com.muttrc
new file mode 100644
index 0000000..21cdb65
--- /dev/null
+++ b/.config/mutt/accounts/Farzat@outlook.com.muttrc
@@ -0,0 +1,38 @@
+# vim: filetype=neomuttrc
+# muttrc file for account Farzat@outlook.com
+set realname = "Farzat"
+set from = "Farzat@outlook.com"
+set sendmail = "msmtp -a Farzat@outlook.com"
+alias me Farzat <Farzat@outlook.com>
+set folder = "$MAILDIR/Farzat@outlook.com/"
+set header_cache = "$XDG_CACHE_HOME/mutt/Farzat@outlook.com/headers"
+set message_cachedir = "$XDG_CACHE_HOME/mutt/Farzat@outlook.com/bodies"
+set mbox_type = Maildir
+source "$XDG_CONFIG_HOME/mutt/switch.muttrc"
+set spoolfile = +INBOX
+set postponed = +Drafts
+set trash = +Deleted
+set record = +Sent
+
+macro index o "<shell-escape>tmux split-window -dl 25% 'mailsync Farzat@outlook.com'<enter>" "run mbsync to sync Farzat@outlook.com"
+
+mailboxes `mdir="$MAILDIR/Farzat@outlook.com/"; find "$mdir" -mindepth 1 -type d -name cur | sed -e 's:/cur$:":' -e "s:$mdir:\"=:" | sort | tr '\n' ' '`
+
+macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
+macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
+macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
+macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
+macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
+macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
+macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
+macro index,pager gt "<change-folder>=Deleted<enter>" "go to trash"
+macro index,pager Mt ";<save-message>=Deleted<enter>" "move mail to trash"
+macro index,pager Ct ";<copy-message>=Deleted<enter>" "copy mail to trash"
+macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
+macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
+macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
+macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
+macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
+macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
diff --git a/.config/mutt/accounts/a@farzat.xyz.muttrc b/.config/mutt/accounts/a@farzat.xyz.muttrc
new file mode 100644
index 0000000..cccdf01
--- /dev/null
+++ b/.config/mutt/accounts/a@farzat.xyz.muttrc
@@ -0,0 +1,47 @@
+# vim: filetype=neomuttrc
+# muttrc file for account a@farzat.xyz
+set realname = "A Farzat"
+set from = "a@farzat.xyz"
+set sendmail = "msmtp -a a@farzat.xyz"
+alias me A Farzat <a@farzat.xyz>
+set folder = "$MAILDIR/a@farzat.xyz/"
+set header_cache = "$XDG_CACHE_HOME/mutt/a@farzat.xyz/headers"
+set message_cachedir = "$XDG_CACHE_HOME/mutt/a@farzat.xyz/bodies"
+set mbox_type = Maildir
+source "$XDG_CONFIG_HOME/mutt/switch.muttrc"
+set spoolfile = +INBOX
+set postponed = +Drafts
+set trash = +Trash
+set record = +Sent
+
+macro index o "<shell-escape>tmux split-window -dl 25% 'mailsync a@farzat.xyz'<enter>" "run mbsync to sync a@farzat.xyz"
+
+mailboxes `mdir="$MAILDIR/a@farzat.xyz/"; find "$mdir" -mindepth 1 -type d -name cur | sed -e 's:/cur$:":' -e "s:$mdir:\"=:" | sort | tr '\n' ' '`
+
+macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
+macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
+macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
+macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
+macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
+macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
+macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
+macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
+macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
+macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
+macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
+macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
+macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
+macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
+macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
+macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
+
+set crypt_use_gpgme = yes
+set postpone_encrypt = yes
+set pgp_self_encrypt = yes
+set crypt_use_pka = no
+set crypt_auto_sign = yes
+set crypt_auto_encrypt = no
+set crypt_auto_pgp = yes
+set pgp_sign_as = 0xA7206A29A965D708
diff --git a/.config/mutt/accounts/farzat@posteo.com.muttrc b/.config/mutt/accounts/farzat@posteo.com.muttrc
new file mode 100644
index 0000000..4ea8137
--- /dev/null
+++ b/.config/mutt/accounts/farzat@posteo.com.muttrc
@@ -0,0 +1,47 @@
+# vim: filetype=neomuttrc
+# muttrc file for account farzat@posteo.com
+set realname = "A Farzat"
+set from = "farzat@posteo.com"
+set sendmail = "msmtp -a farzat@posteo.com"
+alias me A Farzat <farzat@posteo.com>
+set folder = "$MAILDIR/farzat@posteo.com/"
+set header_cache = "$XDG_CACHE_HOME/mutt/farzat@posteo.com/headers"
+set message_cachedir = "$XDG_CACHE_HOME/mutt/farzat@posteo.com/bodies"
+set mbox_type = Maildir
+source "$XDG_CONFIG_HOME/mutt/switch.muttrc"
+set spoolfile = +INBOX
+set postponed = +Drafts
+set trash = +Trash
+set record = +Sent
+
+macro index o "<shell-escape>tmux split-window -dl 25% 'mailsync farzat@posteo.com'<enter>" "run mbsync to sync farzat@posteo.com"
+
+mailboxes `mdir="$MAILDIR/farzat@posteo.com/"; find "$mdir" -mindepth 1 -type d -name cur | sed -e 's:/cur$:":' -e "s:$mdir:\"=:" | sort | tr '\n' ' '`
+
+macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
+macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
+macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
+macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
+macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
+macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
+macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
+macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
+macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
+macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
+macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
+macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
+macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
+macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
+macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
+macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
+
+set crypt_use_gpgme=yes
+set postpone_encrypt = yes
+set pgp_self_encrypt = yes
+set crypt_use_pka = no
+set crypt_auto_sign = yes
+set crypt_auto_encrypt = no
+set crypt_auto_pgp = yes
+set pgp_sign_as=0xA7206A29A965D708
diff --git a/.config/mutt/custom.muttrc b/.config/mutt/custom.muttrc
new file mode 100644
index 0000000..94fc708
--- /dev/null
+++ b/.config/mutt/custom.muttrc
@@ -0,0 +1,31 @@
+# vim: filetype=neomuttrc
+
+alternative_order text/plain text/enriched text/html
+auto_view text/html # automatically show html (mailcap uses lynx)
+auto_view application/pgp-encrypted
+
+bind pager gg top
+bind pager G bottom
+bind index,pager,browser \cd half-down
+bind index,pager,browser \cu half-up
+
+set date_format="%y/%m/%d %H:%M %Z"
+set fast_reply # skip to compose when replying
+set forward_format = "Fwd: %s"
+set forward_quote
+set include # include message in replies
+set mailcap_path = "$XDG_CONFIG_HOME/mutt/mailcap:$mailcap_path"
+set markers = no # Disables the `+` displayed at line wraps.
+set mark_old = no # Unread mail stay unread until read
+set mime_forward = ask-yes # Forwarded body added as attachment if yes.
+set mime_type_query_command = "file --mime-type -b %s"
+set pipe_decode = yes # Makes sure pipe-message pipes the message unencrypted.
+set query_command = "abook --mutt-query '%s'"
+set reverse_name # reply as whomever it was to
+set send_charset="utf-8"
+set sleep_time = 0 # Pause 0 seconds for informational messages.
+set use_threads = 'reverse'
+set wait_key = no # mutt won't ask "press key to continue"
+
+macro index O "<shell-escape>tmux split-window -dl 25% mailsync<enter>" "run mbsync to sync all mail"
+macro index,pager \cb "<pipe-message> urlscan<Enter>" "Follow links with urlscan"
diff --git a/.config/mutt/mailcap b/.config/mutt/mailcap
new file mode 100644
index 0000000..51fa558
--- /dev/null
+++ b/.config/mutt/mailcap
@@ -0,0 +1,9 @@
+text/html; openfile %s ; nametemplate=%s.html
+text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -dump -width=1024 %s; nametemplate=%s.html; copiousoutput;
+image/*; linkhandler %s ;
+video/*; linkhandler %s ;
+audio/*; linkhandler %s ;
+application/pdf; openfile %s ;
+application/pgp-encrypted; gpg -d '%s'; copiousoutput;
+application/pgp-keys; gpg --import '%s'; copiousoutput;
+application/x-pkcs7-signature; /usr/lib/neomutt/smime_keys add_cert %s;
diff --git a/.config/mutt/mutt-wizard.muttrc b/.config/mutt/mutt-wizard.muttrc
new file mode 100644
index 0000000..e72caa9
--- /dev/null
+++ b/.config/mutt/mutt-wizard.muttrc
@@ -0,0 +1,165 @@
+# vim: filetype=neomuttrc
+# This file contains all of mutt-wizard's default settings.
+# mutt-wizard will have this file sourced from your muttrc.
+# In the interest of seamless updating, do not edit this file.
+# If you want to override any settings, set those in your muttrc.
+
+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 <return> view-mailcap
+bind attach l view-mailcap
+bind editor <space> 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 <space> tag-entry
+#bind browser h goto-parent
+macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
+bind index,pager H view-raw-message
+bind browser l select-entry
+bind browser gg top-page
+bind browser G bottom-page
+bind pager gg top
+bind pager G bottom
+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 <Tab> complete-query
+
+macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
+macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
+macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
+macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
+macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
+macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
+macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
+macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
+macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
+macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
+macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
+macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
+macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
+macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
+macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
+macro index,pager Ca ";<copy-message>=Archive<enter>" "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 "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook"
+macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
+macro index O "<shell-escape>mw -Y<enter>" "run mw -Y to sync all mail"
+macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms<enter><limit>~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' \`\"<enter>" "show only messages matching a notmuch pattern"
+macro index A "<limit>all\n" "show all messages (undo limit)"
+
+# Sidebar mappings
+set sidebar_visible = yes
+set sidebar_width = 30
+set sidebar_short_path = yes
+set sidebar_folder_indent = 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/.config/mutt/muttrc b/.config/mutt/muttrc
new file mode 100644
index 0000000..45fbe87
--- /dev/null
+++ b/.config/mutt/muttrc
@@ -0,0 +1,8 @@
+# vim: filetype=neomuttrc
+source "$XDG_CONFIG_HOME/mutt/mutt-wizard.muttrc"
+source "$XDG_CONFIG_HOME/mutt/custom.muttrc"
+source "$XDG_CONFIG_HOME/mutt/accounts/a@farzat.xyz.muttrc"
+macro index,pager i1 '<sync-mailbox><enter-command>source "$XDG_CONFIG_HOME/mutt/accounts/a@farzat.xyz.muttrc"<enter><change-folder>!<enter>;<check-stats>' "switch to a@farzat.xyz"
+macro index,pager i2 '<sync-mailbox><enter-command>source "$XDG_CONFIG_HOME/mutt/accounts/farzat@posteo.com.muttrc"<enter><change-folder>!<enter>;<check-stats>' "switch to farzat@posteo.com"
+macro index,pager i3 '<sync-mailbox><enter-command>source "$XDG_CONFIG_HOME/mutt/accounts/Farzat.uni@outlook.com.muttrc"<enter><change-folder>!<enter>;<check-stats>' "switch to Farzat.uni@outlook.com"
+macro index,pager i4 '<sync-mailbox><enter-command>source "$XDG_CONFIG_HOME/mutt/accounts/Farzat@outlook.com.muttrc"<enter><change-folder>!<enter>;<check-stats>' "switch to Farzat@outlook.com"
diff --git a/.config/mutt/switch.muttrc b/.config/mutt/switch.muttrc
new file mode 100644
index 0000000..6b71072
--- /dev/null
+++ b/.config/mutt/switch.muttrc
@@ -0,0 +1,18 @@
+# vim: filetype=neomuttrc
+
+# This is an embarrassing and hacky file that unbinds a bunch of binds between
+# switching accounts. It is called each time an account is changed.
+
+unmy_hdr Organization
+unmailboxes *
+unalternates *
+unset signature
+
+unset crypt_use_gpgme
+unset postpone_encrypt
+unset pgp_self_encrypt
+unset crypt_use_pka
+unset crypt_autosign
+unset crypt_autoencrypt
+unset crypt_autopgp
+unset pgp_sign_as