Ask HN: I want to unify my computing to a VM

  • 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.

  • 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

  • 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.