At home I have the same keyboard/mouse/monitor, backed by a aging desktop machine, but I can still plug the laptop in the whole system fairly easily. The monitor has two inputs so there is a spare cable for the laptop, and all the external stuff is plugged into the monitor which has one unique usb cable that I can plug either in the desktop (using an extender sitting on the desk) or in the laptop.
For data syncing, well the code sits in git repositories on machines that are accessible at any time. The rest is mostly provided by google apps or Dropbox-synced for the rare things that can't be cloud apps. I even have applications sitting with all their data in dropbox, so that I don't have to replicate settings changes between machines, and also for backup purposes.