This is probably not the right way to do this, but on my laptop, where I boot into 32-bit and 64-bit operating systems, I have a hack configured to solve this problem. Basically, I have two directories: .cabal-i386 and .cabal-x86_64, and I switch back and forth via symbolic links. In my .zshrc:
CabalDir=$HOME/.cabal-`uname -m` if [ ! -d $CabalDir]; then echo WARNING: no cabal directory yet for `uname -m`, creating one. mkdir -p $CabalDir/{bin,lib,logs,share} fi ln -sft $HOME/.cabal $CabalDir/{bin,lib,logs,share}
Perhaps you can adopt some similar strategy by giving yourself a short command to disable some symbolic links (or some Windows symbolic link analogue).
source share