I say do something like windows does, but better. Create seperate configuration profiles for docked and undocked modes + any other mode you wish.
I could see the system looking in ~/.mode/docked for user settings when docked. If an override for a particular configuration file isn't there, then it uses the default location. Something similar could be used for /etc too.
This would allow the system admin to have a machine completely re-configure itself depending upon it's operating environment. IE, when docked at the office it uses the company proxy, as well as when the machine is VPN'd into the company network.
Multiple triggers could cause a change in operating profile, as well as making it manually selectable from a dropdown on the tool bar.