Crossplatform Dev: How do you organize life

So doing cross-platform development and testing things currently I have an old notebook with failing keyboard running Ubuntu, a really old atom PC with debian, a new desktop with Windows and Mac mini for Apple stuff, this is piled in a small shelve and I have a small desk with a single monitor with USB hub in it with keyboard and mouse plugged and I plug the USB to the computer in use at the time. Also a few old joysticks to test and reproducing issues. I use my own iPhone for testing and have a small pile of old Android phones for testing too that are by my monitor, along the confusion of cables.

How do people here work? Do you guys use VM? Is there any KVM you guys use to manage devices? There are different monitors on the market that may give different issues, but monitors take a ton of space, do you rely solely on user reports?

I would like a peek into other people desk/office organization and workflow, and how is crossplatform development and testing things. Tips and routines that works for you would be nice to know too.