
Ask HN: I want to unify my computing to a VM - RufusJacksons
I have a work PC, a personal MacBook Pro, and a desktop that runs my media server.<p>I’m tired of transferring files back and forth, and want to unify these machines. Beyond having my MacBook Pro permanently sitting there with VNC running so I can access it, I want to move entirely to a VM that I can access from my barebones MacBook Pro, my media PC or my work PC. Or my phone.
I know AWS and a million other companies offer VPS, and maybe I’m over complicating it - but I desperately want a single system that I can bring up from any terminal I happen to be using at the time. I’d be happy to bring it with me on a USB disk, and launch it with portable VMware in a pinch, but would much rather have it be cloud based, and running OSX.<p>Does anyone have any insight or ideas for how to move away from having multiple computers without replacing my work machine?
======
ktpsns
Doing your work over VNC on a VPS will result in latency. Furthermore, all
your machines degrade to thin clients and all work is done on the VPS. So
better get a strong VPS and don't invest into something like a MacBook Pro.

Doing your work on a VM which you sync between the machines is an interesting
attempt -- most people I know instead sync the data (with cloud services or
git) and especially program settings (like dotfiles, mostly with git). The
slowdown of working in a VM instead of natively will be dominated by the
performance of the GUI virtualization. VMware is especially known for good GPU
support. Obviously, the advantage of a VM is that you can make use of your
local ressources. However, VMs most likely won't allow to change the number of
CPU cores or memory during runtime, which means you have to work on the
smallest possible denominator of the ressources available (i.e. you are most
likely limited by the RAM of your smallest machine). Depending on the work you
intend to do, this might not be a problem.

I'm not aware of good programs to sync VMs between machines, but I'm sure
there are.

------
AJRF
I thought about doing this but opted to use a shared dotfiles directory across
all my computers instead.

That way I can keep it up in git and then download it on every new computer,
then from the command line and the home directory I run:

    
    
      ln -S dotfiles/.vim
      ln -S dotfiles/.vimrc
      ln -S ..
    

Then I can use it as if it exists locally, then every so often go into the
dotfiles directory and push my changes up.

For media, I use a dropbox account which works across all devices perfectly

------
mimixco
Have you thought about Docker? It's designed for exactly this scenario. You
package up your machine's requirements into a Docker file which can be moved
between hosts.

The setup process is still a little crusty but it does work.

