Hacker News new | ask | show | jobs
by jefurii 1096 days ago
I've been doing my work in VMs running on my local for a long time now and it works great. I got started because I wanted my development environment to be a close match for my stage and production.

For a long time I ran VirtualBox guests on a laptop host running Debian or Ubuntu. VB is great especially if you're getting started with virtual machines, it has a GUI and things are easy to understand. I used a host-only network to keep traffic inside my laptop.

If you're going to edit code inside a VM you'll need an IDE that can handle it. Emacs with tramp has served me well for years. IIRC with VSCode you have to install a server on the VM.

I do web development so I've never felt the need to run desktops inside VMs. It's nice to have some separation between work and stuff like HN but Gnome workspaces gives me just enough.

A couple years ago I levelled up and switched to KVM on a headless Debian box. This system uses bridge networking with DHCP from my router, and I use Tailscale to access my VMs from outside my LAN. You can use virt-manager (which also works for VirtualBox) but I mostly use the libvirt CLI tools and cockpit/cockpit-machines if I need something a little more visual. Caveat: I don't know how KVM would handle suspend on a laptop.