I setup two different boot blocks in grub, and passed in two different
cmdlines; one for 'Laptop' and one for 'Desktop'.
These cmdlines were parsed by a small startup script I wrote to copy
over the laptop or desktop x configuration file.
On boot, I simply select laptop or desktop mode in grub boot screen.
-C
I'm working on a startup script that will copy the correct X
config into
place, depending on whether I'm docked or not. I don't know
if there is
way to configure it to work docked or not docked without
changing anything.