As I'm using several very different environments for some projects I'm working on (embedded software, application server, Android, etc.), I set up one VirtualBox virtual machine for each of them. The guest machine OS is Linux, and I run them either on a Linux host, or on a macOS host.