Virtualbox is not your only option if you want to use Vagrant. Vagrant has decent plugins for qemu (vagrant-libvirt)
and lxd (vagrant-lxd)
.
Make sure you get your KVM, Qemu and libvirt setup right and run:
$ brew install libvirt
$ brew services start libvirt # to restart service at login
$ vagrant plugin install vagrant-libvirt
$ vagrant init generic/ubuntu1804
$ vagrant up --provider=libvirt
You can export VAGRANT_DEFAULT_PROVIDER=libvirt
to avoid passing --provider=libvirt
to vagrant all the time.
vagrant-lxd
is less mature but just as useful, especially when you need to run stuff with erratic RSS graphs.