Search code examples
mutt

Revert all mutt custom config


I am trying to setup a two (maybe more) mailboxes in mutt with very different settings. I have setup folder-hooks for each but it custom settings are not fully the same.

I wonder how to reset all custom settings setup for one mailbox before applying settings from the other.

The setup is:

.muttrc:
   some custom config...
   mre custom config...
   folder-hook home source .mutt/home.config
   folder-hook work source .mutt/work.config

I'd like to reset all configs setup by home.config when I apply work.config (but keep general config setup by .muttrc so reset all is too much).


Solution

  • Own answer:

    Create a script reset.sh like:

    grep -E -h -v '^(#.*)?$' $@ |  sed -E 's/(.*)=.*/\1/; s/^(un)?set/reset/g; /macro/d'
    

    and as Adam suggested, in the main conf:

    set my_reset_source=`~/.mutt/reset.sh ~/.mutt/*.config > /tmp/mutt-reset`
    folder-hook . source /tmp/mutt-reset
    folder-hook home source ~/.mutt/home.config
    folder-hook work source ~/.mutt/work.config