Is there an app to control preferences/desktop/dock based on an environment I use my laptop for personal use and work. Is there a way to be able to reconfigure my preferences, desktop icons, and dock apps with a script or app?

I personally would like something like f.lux where the settings can change based on the time, so I can set something like work mode between 9a-5pm.
I'd just create a new user, and just sign on to whichever one depending on where you are.