I wrote a tutorial on how to launch macOS Mojave (and soon Catalina) VMs using Vagrant. I've mostly used it for development and testing of Ansible playbooks targeted at configuring headless builders for iOS and macOS apps (I'll write a tutorial on that as well).
Hopefully someone will find it useful. Please let me know if I can improve the tutorial or the site. All feedback is much appreciated! 🙂