diff --git a/goimapnotify/.config/goimapnotify/disroot.conf b/goimapnotify/.config/goimapnotify/disroot.conf
index 72aba26..3f2b051 100644
--- a/goimapnotify/.config/goimapnotify/disroot.conf
+++ b/goimapnotify/.config/goimapnotify/disroot.conf
@@ -7,18 +7,8 @@
   },
   "username": "akasroua@disroot.org",
   "passwordCmd": "pass mail/disroot",
-  "onNewMail": "mbsync disroot",
-  "onNewMailPost": "mu index --lazy-check",
+  "onNewMail": "~/.local/share/scripts/mail-sync disroot",
   "boxes": [
-    "INBOX",
-    "Sent",
-    "Trash",
-    "Archive",
-    "Junk",
-    "Bookings",
-    "Buying",
-    "Services",
-    "SMART",
-    "Travel"
+    "INBOX"
   ]
 }
diff --git a/goimapnotify/.config/goimapnotify/gmail.conf b/goimapnotify/.config/goimapnotify/gmail.conf
index 3b0bce8..58f5d3c 100644
--- a/goimapnotify/.config/goimapnotify/gmail.conf
+++ b/goimapnotify/.config/goimapnotify/gmail.conf
@@ -7,13 +7,8 @@
   },
   "username": "akasroua@gmail.com",
   "passwordCmd": "pass mail/gmail",
-  "onNewMail": "mbsync gmail",
-  "onNewMailPost": "mu index --lazy-check",
+  "onNewMail": "~/.local/share/scripts/mail-sync gmail",
   "boxes": [
-    "INBOX",
-    "[Gmail]/Sent Mail",
-    "[Gmail]/Bin",
-    "[Gmail]/Spam",
-    "[Gmail]/All Mail"
+    "INBOX"
   ]
 }
diff --git a/goimapnotify/.config/goimapnotify/ugent.conf b/goimapnotify/.config/goimapnotify/ugent.conf
index d0cc10d..3499974 100644
--- a/goimapnotify/.config/goimapnotify/ugent.conf
+++ b/goimapnotify/.config/goimapnotify/ugent.conf
@@ -8,13 +8,8 @@
   "username": "amin.kasrouaouam@ugent.be",
   "passwordCmd": "/home/coolneng/.local/share/scripts/mutt_oauth2.py /home/coolneng/.cache/tokenfile",
   "xoauth2": true,
-  "onNewMail": "mbsync ugent",
-  "onNewMailPost": "mu index --lazy-check",
+  "onNewMail": "~/.local/share/scripts/mail-sync ugent",
   "boxes": [
-    "INBOX",
-    "Sent Items",
-    "Deleted Items",
-    "Archive",
-    "Junk Email"
+    "INBOX"
   ]
 }
diff --git a/mbsync/.mbsyncrc b/mbsync/.mbsyncrc
index 530ffe6..86ccd4b 100644
--- a/mbsync/.mbsyncrc
+++ b/mbsync/.mbsyncrc
@@ -116,12 +116,20 @@ Create Both
 Expunge Both
 SyncState *
 
+Channel ugent-mailing-lists
+Far :ugent-remote:"Mailing Lists"
+Near :ugent-local:mailing-lists
+Create Both
+Expunge Both
+SyncState *
+
 Group ugent
 Channel ugent-default
 Channel ugent-sent
 Channel ugent-trash
 Channel ugent-archive
 Channel ugent-junk
+Channel ugent-mailing-lists
 
 IMAPAccount disroot
 Host disroot.org
diff --git a/neomutt/.config/neomutt/accounts/disroot.muttrc b/neomutt/.config/neomutt/accounts/disroot.muttrc
deleted file mode 100644
index 085bc23..0000000
--- a/neomutt/.config/neomutt/accounts/disroot.muttrc
+++ /dev/null
@@ -1,28 +0,0 @@
-# vim: filetype=neomuttrc
-# muttrc file for account disroot
-set realname = "Amin Kasrou Aouam"
-set from = "akasroua@disroot.org"
-set sendmail = "~/.config/neomutt/etc/sendmail disroot"
-set folder = "~/.mail/disroot"
-
-set mbox_type = Maildir
-set ssl_starttls = yes
-set ssl_force_tls = yes
-
-bind index,pager gg noop
-bind index,pager g noop
-bind index gg first-entry
-unmailboxes *
-mailboxes =junk =inbox =trash =sent =bookings =buying =services =smart =travel
-macro index,pager gi "<change-folder>=inbox<enter>" "Go to inbox."
-macro index,pager gs "<change-folder>=sent<enter>" "Go to sent."
-macro index,pager gt "<change-folder>=trash<enter>" "Go to trash."
-macro index,pager gj "<change-folder>=junk<enter>" "Go to spam."
-macro index,pager gb "<change-folder>=bookings<enter>" "Go to bookings."
-macro index,pager gy "<change-folder>=buying<enter>" "Go to buying."
-macro index,pager ge "<change-folder>=services<enter>" "Go to services."
-macro index,pager gm "<change-folder>=smart<enter>" "Go to smart."
-macro index,pager gr "<change-folder>=travel<enter>" "Go to travel."
-set spoolfile = "+inbox"
-set postponed = ""
-set trash = "+trash"
diff --git a/neomutt/.config/neomutt/accounts/gmail.muttrc b/neomutt/.config/neomutt/accounts/gmail.muttrc
deleted file mode 100644
index 0a63bf1..0000000
--- a/neomutt/.config/neomutt/accounts/gmail.muttrc
+++ /dev/null
@@ -1,24 +0,0 @@
-# vim: filetype=neomuttrc
-# muttrc file for account gmail
-set realname = "Amin Kasrou Aouam"
-set from = "akasroua@gmail.com"
-set sendmail = "~/.config/neomutt/etc/sendmail gmail"
-set folder = "~/.mail/gmail"
-
-set mbox_type = Maildir
-set ssl_starttls = yes
-set ssl_force_tls = yes
-
-bind index,pager gg noop
-bind index,pager g noop
-bind index gg first-entry
-unmailboxes *
-mailboxes =junk =Inbox =trash =sent
-macro index,pager gi "<change-folder>=Inbox<enter>" "Go to inbox."
-macro index,pager gs "<change-folder>=sent<enter>" "Go to sent."
-macro index,pager gt "<change-folder>=trash<enter>" "Go to trash."
-macro index,pager gj "<change-folder>=junk<enter>" "Go to spam."
-set spoolfile = "+Inbox"
-set record = "+sent"
-set postponed = ""
-set trash = "+trash"
diff --git a/neomutt/.config/neomutt/accounts/ugent.muttrc b/neomutt/.config/neomutt/accounts/ugent.muttrc
deleted file mode 100644
index 204fee3..0000000
--- a/neomutt/.config/neomutt/accounts/ugent.muttrc
+++ /dev/null
@@ -1,25 +0,0 @@
-# vim: filetype=neomuttrc
-# muttrc file for account coolneng
-set realname = "Amin Kasrou Aouam"
-set from = "amin.kasrouaouam@ugent.be"
-set sendmail = "~/.config/neomutt/etc/sendmail ugent"
-set folder = "~/.mail/ugent"
-
-set mbox_type = Maildir
-set ssl_starttls = yes
-set ssl_force_tls = yes
-
-bind index,pager gg noop
-bind index,pager g noop
-bind index gg first-entry
-unmailboxes *
-mailboxes =inbox =sent =trash =archive =junk
-macro index,pager gi "<change-folder>=inbox<enter>" "Go to inbox."
-macro index,pager gs "<change-folder>=sent<enter>" "Go to sent."
-macro index,pager gt "<change-folder>=trash<enter>" "Go to trash."
-macro index,pager ga "<change-folder>=archive<enter>" "Go to archive."
-macro index,pager gj "<change-folder>=junk<enter>" "Go to junk."
-set spoolfile = "+inbox"
-set record = "+sent"
-set postponed = ""
-set trash = "+deleted"
diff --git a/neomutt/.config/neomutt/colors.muttrc b/neomutt/.config/neomutt/colors.muttrc
deleted file mode 100644
index 77969cb..0000000
--- a/neomutt/.config/neomutt/colors.muttrc
+++ /dev/null
@@ -1,66 +0,0 @@
-# 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 brightmagenta 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 magenta 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 brightblue 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.*"
-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 brightwhite default '.*'
-color index_author brightgreen 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/neomutt/.config/neomutt/etc/aliases b/neomutt/.config/neomutt/etc/aliases
deleted file mode 100644
index 3464a01..0000000
--- a/neomutt/.config/neomutt/etc/aliases
+++ /dev/null
@@ -1,21 +0,0 @@
-## A file for aliases
-
-# UGR professors
-alias dani dmolina@decsai.ugr.es
-alias cano ccano@decsai.ugr.es
-alias merino cmerino@ugr.es
-alias fran fjrodriguez@decsai.ugr.es
-alias salva salvaguti@decsai.ugr.es
-alias marisol marisolbc@ugr.es
-
-# UGent students
-alias mickey michael.fatjanov@ugent.be
-alias natan natan.tourne@ugent.be
-alias conor sean.barr@ugent.be
-
-# Personal
-alias barbas arodasaparicio@gmail.com
-alias rafika rafibel63@gmail.com
-alias oekk luismata06@gmail.com
-alias walid mkasrou@gmail.com
-alias walida naouam61@gmail.com
diff --git a/neomutt/.config/neomutt/etc/gpg.rc b/neomutt/.config/neomutt/etc/gpg.rc
deleted file mode 100644
index f9947e9..0000000
--- a/neomutt/.config/neomutt/etc/gpg.rc
+++ /dev/null
@@ -1,131 +0,0 @@
-# -*-muttrc-*-
-#
-# Command formats for gpg.
-#
-# Version notes:
-#
-#   GPG 2.1 introduces the option "--pinentry-mode", which requires
-#   the "loopback" argument in instances where "--passphrase-fd" is
-#   used.
-#
-# Some of the older commented-out versions of the commands use gpg-2comp from:
-#   http://70t.de/download/gpg-2comp.tar.gz
-#
-# %p    The empty string when no passphrase is needed,
-#       the string "PGPPASSFD=0" if one is needed.
-#
-#       This is mostly used in conditional % sequences.
-#
-# %f    Most PGP commands operate on a single file or a file
-#       containing a message.  %f expands to this file's name.
-#
-# %s    When verifying signatures, there is another temporary file
-#       containing the detached signature.  %s expands to this
-#       file's name.
-#
-# %a    In "signing" contexts, this expands to the value of the
-#       configuration variable $pgp_sign_as, if set, otherwise
-#       $pgp_default_key.  You probably need to
-#       use this within a conditional % sequence.
-#
-# %r    In many contexts, neomutt passes key IDs to pgp.  %r expands to
-#       a list of key IDs.
-
-# Section A: Key Management
-
-# The default key for encryption (used by $pgp_self_encrypt and
-# $postpone_encrypt).
-#
-# It will also be used for signing unless $pgp_sign_as is set to a
-# key.
-#
-# Unless your key does not have encryption capability, uncomment this
-# line and replace the keyid with your own.
-#
-# set pgp_default_key="0x12345678"
-
-# If you have a separate signing key, or your key _only_ has signing
-# capability, uncomment this line and replace the keyid with your
-# signing keyid.
-#
-# set pgp_sign_as="0x87654321"
-
-
-# Section B: Commands
-
-# Note that we explicitly set the comment armor header since GnuPG, when used
-# in some localiaztion environments, generates 8bit data in that header, thereby
-# breaking PGP/MIME.
-
-# decode application/pgp
-#
-set pgp_decode_command="gpg --status-fd=2 %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
-
-# Verify a signature
-#
-set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f"
-
-# Decrypt an attachment
-#
-set pgp_decrypt_command="gpg --status-fd=2 %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --quiet --batch --output - --decrypt %f"
-
-# Create a PGP/MIME signed attachment
-#
-# set pgp_sign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f"
-#
-set pgp_sign_command="gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --batch --quiet --output - --armor --textmode %?a?--local-user %a? --detach-sign %f"
-
-# Create a application/pgp inline signed message.  This style is obsolete but still needed for Hushmail recipients and some MUAs.
-#
-# set pgp_clearsign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f"
-#
-set pgp_clearsign_command="gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --no-verbose --batch --quiet --output - --armor --textmode %?a?--local-user %a? --clearsign %f"
-
-# Create an encrypted attachment (note that some users include the --always-trust option here)
-#
-# set pgp_encrypt_only_command="/usr/libexec/neomutt/pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
-#
-set pgp_encrypt_only_command="/usr/libexec/neomutt/pgpewrap gpg --batch --quiet --no-verbose --output - --textmode --armor --encrypt -- --recipient %r -- %f"
-
-# Create an encrypted and signed attachment (note that some users include the --always-trust option here)
-#
-# set pgp_encrypt_sign_command="/usr/libexec/neomutt/pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
-#
-set pgp_encrypt_sign_command="/usr/libexec/neomutt/pgpewrap gpg %?p?--pinentry-mode loopback --passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - %?a?--local-user %a? --armor --sign --encrypt -- --recipient %r -- %f"
-
-# Import a key into the public key ring
-#
-set pgp_import_command="gpg --no-verbose --import %f"
-
-# Export a key from the public key ring
-#
-set pgp_export_command="gpg --no-verbose --armor --export %r"
-
-# Verify a key
-#
-set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r"
-
-# Read in the public key ring
-#
-set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r"
-
-# Read in the secret key ring
-#
-set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r"
-
-# Fetch keys
-# set pgp_getkeys_command="pkspxycwrap %r"
-
-# pattern for good signature - may need to be adapted to locale!
-# OK, here's a version which uses gnupg's message catalog:
-# set pgp_good_sign="^gpgv?: Good signature from"
-# set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`"
-#
-# Output pattern to indicate a valid signature using --status-fd messages
-set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
-
-# Output pattern to verify a decryption occurred
-# This is now deprecated by pgp_check_gpg_decrypt_status_fd:
-# set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY"
-set pgp_check_gpg_decrypt_status_fd
-
diff --git a/neomutt/.config/neomutt/etc/mailcap b/neomutt/.config/neomutt/etc/mailcap
deleted file mode 100644
index 0ffd075..0000000
--- a/neomutt/.config/neomutt/etc/mailcap
+++ /dev/null
@@ -1,8 +0,0 @@
-text/html; w3m -I %{charset} -T text/html %s; copiousoutput;
-text/* ; nvim %s ; edit=nvim %s ; compose=nvim %s ; needsterminal
-image/*; imv %s ; copiousoutput
-application/pdf; zathura %s ;
-application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s ;
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; libreoffice %s ;
-application/msword; libreoffice %s ;
-application/pgp-encrypted; gpg -d '%s'; copiousoutput;
diff --git a/neomutt/.config/neomutt/etc/muttcol b/neomutt/.config/neomutt/etc/muttcol
deleted file mode 100644
index 2c2f7f5..0000000
--- a/neomutt/.config/neomutt/etc/muttcol
+++ /dev/null
@@ -1,71 +0,0 @@
-# vim: filetype=neomuttrc
-
-# 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"
-
-# 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 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
-
-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 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
- |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
- |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
-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/neomutt/.config/neomutt/etc/sendmail b/neomutt/.config/neomutt/etc/sendmail
deleted file mode 100755
index d899f10..0000000
--- a/neomutt/.config/neomutt/etc/sendmail
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-nix-shell -p python3 --command "python ~/.local/bin/MIMEmbellish | msmtp -a $1 -t"
diff --git a/neomutt/.config/neomutt/neomuttrc b/neomutt/.config/neomutt/neomuttrc
deleted file mode 100644
index eab8edb..0000000
--- a/neomutt/.config/neomutt/neomuttrc
+++ /dev/null
@@ -1,93 +0,0 @@
-#vim: filetype=neomuttrc
-# This is the general mutt config which has the settings that all accounts use.
-bind index,pager i noop
-bind index,pager g noop
-bind index \Cf noop
-source etc/muttcol
-source etc/aliases
-source personal.muttrc
-source colors.muttrc
-set sleep_time = 0
-set sort = 'reverse-date'
-set editor = $EDITOR
-set copy = no
-set beep_new = yes
-set mailcap_path = ~/.config/neomutt/etc/mailcap
-set date_format="%d/%m/%y %H:%M"
-set index_format="%2C %zs %?X?A& ? %D %-15.15F %s (%-4.4c)"
-set markers = no
-set mark_old = no
-set mime_forward = yes
-set smtp_authenticators = 'gssapi:login'
-set wait_key = no
-auto_view text/html
-auto_view application/pgp-encrypted
-alternative_order text/plain text/enriched text/html
-set rfc2047_parameters = yes
-set send_charset = 'us-ascii:utf-8' 
-set ssl_use_tlsv1_2 = yes
-unset help
-set pager_stop = yes
-set wrap=-20
-
-# General remappings
-bind editor <space> noop
-bind index G last-entry
-bind index gg first-entry
-bind pager j next-line
-bind pager k previous-line
-bind pager gg top
-bind pager G bottom
-bind index d half-down
-bind index u half-up
-bind index D delete-message
-bind index U undelete-message
-bind index F search
-bind index,pager R group-reply
-bind index,pager \031 previous-undeleted # Mouse wheel
-bind index,pager \005 next-undeleted # Mouse wheel
-macro index,pager S <sync-mailbox>
-macro index,pager \Cu |urlscan\n
-macro index,pager ,, |urlscan\n
-
-# View attachments properly.
-bind attach <return> view-mailcap
-set fast_reply           # skip to compose when replying
-set fcc_attach           # save attachments with the body
-unset mime_forward       # forward attachments as part of body
-set forward_format = "Fwd: %s"       # format of subject when forwarding
-set forward_decode                   # decode when forwarding
-set forward_quote                    # include message in forwards
-set reverse_name                     # reply as whomever it was to
-set include                          # include message in replies
-
-#Ctrl-R to mark all as read
-macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
-#
-# #sync email
-macro index o "<shell-escape>mbsync -a 2>/dev/null 1>&2 &<enter>" "run mbsync to sync all mail"
-
-# #copy/move dialogs
-macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
-macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
-
-# Notmuch searching
-macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// 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 = 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
-
-# Remove signature
-unset signature
diff --git a/neomutt/.config/neomutt/personal.muttrc b/neomutt/.config/neomutt/personal.muttrc
deleted file mode 100644
index e18c0f7..0000000
--- a/neomutt/.config/neomutt/personal.muttrc
+++ /dev/null
@@ -1,6 +0,0 @@
-macro index,pager i3 '<sync-mailbox><enter-command>source "/home/coolneng/.config/neomutt"/accounts/disroot.muttrc<enter><change-folder>!<enter>'
-source /home/coolneng/.config/neomutt/accounts/disroot.muttrc
-macro index,pager i2 '<sync-mailbox><enter-command>source "/home/coolneng/.config/neomutt"/accounts/gmail.muttrc<enter><change-folder>!<enter>'
-source /home/coolneng/.config/neomutt/accounts/gmail.muttrc
-macro index,pager i1 '<sync-mailbox><enter-command>source "/home/coolneng/.config/neomutt"/accounts/ugent.muttrc<enter><change-folder>!<enter>'
-source /home/coolneng/.config/neomutt/accounts/ugent.muttrc
diff --git a/neomutt/.local/bin/MIMEmbellish b/neomutt/.local/bin/MIMEmbellish
deleted file mode 100755
index 1c8199e..0000000
--- a/neomutt/.local/bin/MIMEmbellish
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/usr/bin/env python
-
-import re
-import sys
-import email
-import shlex
-import mimetypes
-import subprocess
-from copy import copy
-from hashlib import md5
-from email import charset
-from email import encoders
-from email.mime.text import MIMEText
-from email.mime.multipart import MIMEMultipart
-from email.mime.nonmultipart import MIMENonMultipart
-from os.path import basename, splitext, expanduser
-
-
-charset.add_charset('utf-8', charset.SHORTEST, '8bit')
-
-
-def pandoc(from_format, to_format='markdown', plain='markdown', title=None):
-    markdown = ('markdown'
-                '-blank_before_blockquote')
-
-    if from_format == 'plain':
-        from_format = plain
-    if from_format == 'markdown':
-        from_format = markdown
-    if to_format == 'markdown':
-        to_format = markdown
-
-    command = 'pandoc -f {} -t {} --standalone --highlight-style=tango'
-    if to_format in ('html', 'html5'):
-        if title is not None:
-            command += ' --variable=pagetitle:{}'.format(shlex.quote(title))
-        command += ' --webtex --template={}'.format(
-                expanduser('~/.pandoc/templates/email.html'))
-    return command.format(from_format, to_format)
-
-
-def gmailfy(payload):
-    return payload.replace('<blockquote>',
-                           '<blockquote class="gmail_quote" style="'
-                           'padding: 0 7px 0 7px;'
-                           'border-left: 2px solid #cccccc;'
-                           'font-style: italic;'
-                           'margin: 0 0 7px 3px;'
-                           '">')
-
-
-def make_alternative(message, part):
-    alternative = convert(part, 'html',
-                          pandoc(part.get_content_subtype(),
-                                 to_format='html',
-                                 title=message.get('Subject')))
-    alternative.set_payload(gmailfy(alternative.get_payload()))
-    return alternative
-
-
-def make_replacement(message, part):
-    return convert(part, 'plain', pandoc(part.get_content_subtype()))
-
-
-def convert(part, to_subtype, command):
-    payload = part.get_payload()
-    if isinstance(payload, str):
-        payload = payload.encode('utf-8')
-    else:
-        payload = part.get_payload(None, True)
-        if not isinstance(payload, bytes):
-            payload = payload.encode('utf-8')
-    process = subprocess.run(
-        shlex.split(command),
-        input=payload, stdout=subprocess.PIPE, check=True)
-    return MIMEText(process.stdout, to_subtype, 'utf-8')
-
-
-def with_alternative(parent, part, from_signed,
-                     make_alternative=make_alternative,
-                     make_replacement=None):
-    try:
-        alternative = make_alternative(parent or part, from_signed or part)
-        replacement = (make_replacement(parent or part, part)
-                       if from_signed is None and make_replacement is not None
-                       else part)
-    except:
-        return parent or part
-    envelope = MIMEMultipart('alternative')
-    if parent is None:
-        for k, v in part.items():
-            if (k.lower() != 'mime-version'
-                    and not k.lower().startswith('content-')):
-                envelope.add_header(k, v)
-                del part[k]
-    envelope.attach(replacement)
-    envelope.attach(alternative)
-    if parent is None:
-        return envelope
-    payload = parent.get_payload()
-    payload[payload.index(part)] = envelope
-    return parent
-
-
-def tag_attachments(message):
-    if message.get_content_type() == 'multipart/mixed':
-        for part in message.get_payload():
-            if (part.get_content_maintype() in ['image']
-                    and 'Content-ID' not in part):
-                filename = part.get_param('filename',
-                                          header='Content-Disposition')
-                if isinstance(filename, tuple):
-                    filename = str(filename[2], filename[0] or 'us-ascii')
-                if filename:
-                    filename = splitext(basename(filename))[0]
-                    if filename:
-                        part.add_header('Content-ID', '<{}>'.format(filename))
-    return message
-
-
-def attachment_from_file_path(attachment_path):
-    try:
-        mime, encoding = mimetypes.guess_type(attachment_path, strict=False)
-        maintype, subtype = mime.split('/')
-        with open(attachment_path, 'rb') as payload:
-            attachment = MIMENonMultipart(maintype, subtype)
-            attachment.set_payload(payload.read())
-            encoders.encode_base64(attachment)
-            if encoding:
-                attachment.add_header('Content-Encoding', encoding)
-            return attachment
-    except:
-        return None
-
-
-attachment_path_pattern = re.compile(r'\]\s*\(\s*file://(/[^)]*\S)\s*\)|'
-                                     r'\]\s*:\s*file://(/.*\S)\s*$',
-                                     re.MULTILINE)
-
-
-def link_attachments(payload):
-    attached = []
-    attachments = []
-
-    def on_match(match):
-        if match.group(1):
-            attachment_path = match.group(1)
-            cid_fmt = '](cid:{})'
-        else:
-            attachment_path = match.group(2)
-            cid_fmt = ']: cid:{}'
-        attachment_id = md5(attachment_path.encode()).hexdigest()
-        if attachment_id in attached:
-            return cid_fmt.format(attachment_id)
-        attachment = attachment_from_file_path(attachment_path)
-        if attachment:
-            attachment.add_header('Content-ID', '<{}>'.format(attachment_id))
-            attachments.append(attachment)
-            attached.append(attachment_id)
-            return cid_fmt.format(attachment_id)
-        return match.group()
-
-    return attachments, attachment_path_pattern.sub(on_match, payload)
-
-
-def with_local_attachments(parent, part, from_signed,
-                           link_attachments=link_attachments):
-    if from_signed is None:
-        attachments, payload = link_attachments(part.get_payload())
-        part.set_payload(payload)
-    else:
-        attachments, payload = link_attachments(from_signed.get_payload())
-        from_signed = copy(from_signed)
-        from_signed.set_payload(payload)
-    if not attachments:
-        return parent, part, from_signed
-    if parent is None:
-        parent = MIMEMultipart('mixed')
-        for k, v in part.items():
-            if (k.lower() != 'mime-version'
-                    and not k.lower().startswith('content-')):
-                parent.add_header(k, v)
-                del part[k]
-        parent.attach(part)
-    for attachment in attachments:
-        parent.attach(attachment)
-    return parent, part, from_signed
-
-
-def is_target(part, target_subtypes):
-    return (part.get('Content-Disposition', 'inline') == 'inline'
-            and part.get_content_maintype() == 'text'
-            and part.get_content_subtype() in target_subtypes)
-
-
-def pick_from_signed(part, target_subtypes):
-    for from_signed in part.get_payload():
-        if is_target(from_signed, target_subtypes):
-            return from_signed
-
-
-def seek_target(message, target_subtypes=['plain', 'markdown']):
-    if message.is_multipart():
-        if message.get_content_type() == 'multipart/signed':
-            part = pick_from_signed(message, target_subtypes)
-            if part is not None:
-                return None, message, part
-        elif message.get_content_type() == 'multipart/mixed':
-            for part in message.get_payload():
-                if part.is_multipart():
-                    if part.get_content_type() == 'multipart/signed':
-                        from_signed = pick_from_signed(part, target_subtypes)
-                        if from_signed is not None:
-                            return message, part, from_signed
-                elif is_target(part, target_subtypes):
-                    return message, part, None
-    else:
-        if is_target(message, target_subtypes):
-            return None, message, None
-    return None, None, None
-
-
-def main():
-    try:
-        message = email.message_from_file(sys.stdin)
-        parent, part, from_signed = seek_target(message)
-        if (parent, part, from_signed) == (None, None, None):
-            print(message)
-            return
-        tag_attachments(message)
-        print(with_alternative(
-             *with_local_attachments(parent, part, from_signed)))
-    except (BrokenPipeError, KeyboardInterrupt):
-        pass
-
-
-if __name__ == '__main__':
-    main()
diff --git a/notmuch/.notmuch-config b/notmuch/.notmuch-config
deleted file mode 100644
index 54df44a..0000000
--- a/notmuch/.notmuch-config
+++ /dev/null
@@ -1,88 +0,0 @@
-# .notmuch-config - Configuration file for the notmuch mail system
-#
-# For more information about notmuch, see https://notmuchmail.org
-
-# Database configuration
-#
-# The only value supported here is 'path' which should be the top-level
-# directory where your mail currently exists and to where mail will be
-# delivered in the future. Files should be individual email messages.
-# Notmuch will store its database within a sub-directory of the path
-# configured here named ".notmuch".
-#
-[database]
-path=/home/coolneng/.mail
-
-# User configuration
-#
-# Here is where you can let notmuch know how you would like to be
-# addressed. Valid settings are
-#
-#	name		Your full name.
-#	primary_email	Your primary email address.
-#	other_email	A list (separated by ';') of other email addresses
-#			at which you receive email.
-#
-# Notmuch will use the various email addresses configured here when
-# formatting replies. It will avoid including your own addresses in the
-# recipient list of replies, and will set the From address based on the
-# address to which the original email was addressed.
-#
-[user]
-name=Amin Kasrou Aouam
-primary_email=akasroua@gmail.com
-other_email=akasroua@correo.ugr.es;
-
-# Configuration for "notmuch new"
-#
-# The following options are supported here:
-#
-#	tags	A list (separated by ';') of the tags that will be
-#		added to all messages incorporated by "notmuch new".
-#
-#	ignore	A list (separated by ';') of file and directory names
-#		that will not be searched for messages by "notmuch new".
-#
-#		NOTE: *Every* file/directory that goes by one of those
-#		names will be ignored, independent of its depth/location
-#		in the mail store.
-#
-[new]
-tags=unread;inbox;
-ignore=
-
-# Search configuration
-#
-# The following option is supported here:
-#
-#	exclude_tags
-#		A ;-separated list of tags that will be excluded from
-#		search results by default.  Using an excluded tag in a
-#		query will override that exclusion.
-#
-[search]
-exclude_tags=deleted;spam;
-
-# Maildir compatibility configuration
-#
-# The following option is supported here:
-#
-#	synchronize_flags      Valid values are true and false.
-#
-#	If true, then the following maildir flags (in message filenames)
-#	will be synchronized with the corresponding notmuch tags:
-#
-#		Flag	Tag
-#		----	-------
-#		D	draft
-#		F	flagged
-#		P	passed
-#		R	replied
-#		S	unread (added when 'S' flag is not present)
-#
-#	The "notmuch new" command will notice flag changes in filenames
-#	and update tags, while the "notmuch tag" and "notmuch restore"
-#	commands will notice tag changes and update flags in filenames
-#
-[maildir]
-synchronize_flags=true
diff --git a/scripts/.local/share/scripts/mail-sync b/scripts/.local/share/scripts/mail-sync
index c679ff5..a431910 100755
--- a/scripts/.local/share/scripts/mail-sync
+++ b/scripts/.local/share/scripts/mail-sync
@@ -6,4 +6,8 @@ if [ $# -lt 1 ]; then
 fi
 
 mbsync "$1"
-notmuch new
+if pgrep -f 'mu server'; then
+	emacsclient -e '(mu4e-update-index)'
+else
+	mu index --lazy-check
+fi
diff --git a/tmux/.tmuxp/local.yaml b/tmux/.tmuxp/local.yaml
index 026401c..aa8452f 100644
--- a/tmux/.tmuxp/local.yaml
+++ b/tmux/.tmuxp/local.yaml
@@ -25,10 +25,6 @@ windows:
   panes:
     - ncmpcpp
 
-- window_name: mail
-  panes:
-    - neomutt
-
 - window_name: IM
   panes:
     - gomuks