Sharing /home between a stable and an unstable install

Motivation

Unstable is up-to-date, more interesting (stable is currently too booring for me), etc. However, you can't depend on it for any production work and you may not want the embarressment of a movie night with friends where suddenly the movie player won't work. For this reason I also maintain a stable install, but am using the same /home so that any changes in my setup are reflected there as well.

However there are some applications that don't play nice with older versions of themselves. See below for problems encountered and the solution found.

General recommendations

Squeeze

Getmail

I had to be pin getmail4 to the squeeze version because I would get duplicate e-mails everytime I switched between installs (probably the format for the recent mail database has changed or something). Didn't try upgrading as getmail doesn't have a backport.

Chromium

Aside from the difference in names (cromium-browser in squeeze, vs. chromium later) it doesn't like to share it's configuration folder with older/newer versions. I have solved this with a wrapper script ~/bin/chromium which calls the correct binary and passes the --user-data-dir option to one of them.

Mutt

Some small changes in behaviour between 1.5.20 and 1.5.21, solved by upgrading squeeze to squeeze-backports

XBMC

I've experienced crashes when trying to start it with the "other" ~/.xmbc. Unfortunatelly there is no switch to change the config directory, which is why I have ~/.xbmc.stable and ~/.xbmc.sid and use a wrapper script ~/bin/xbmc that creates the correct symlink before starting xbmc (it also does some other stuff needed for the separate X screen setup). This means that some informations are not shared between install (like watched episodes from a series). I'm planning to move it to a dedicated box (Raspberry PI).