Vagrant is "...the command line utility for managing the lifecycle of virtual machines."
Think of Docker, but more tailored towards setting up virtual machines. We're using Vagrant this year to create a consistent development experience across all platforms - MacOS, Linux, Windows.
Visit here, and click the download button for Windows. Don't change any of
the settings in the installer - the defaults are already pretty good.
You should already have git installed. If not, install Git via Homebrew:
brew install git
You (probably) already have git installed. Use your favorite package manager to install it, if not.
Visit here, and download the AMD64 version for Windows.
Install Vagrant via Homebrew:
brew install hashicorp/tap/hashicorp-vagrant
Install Vagrant via your favorite package manager. Or follow the instructions here.
Visit here, and click on Windows hosts.
Your favorite package manager should already have VirtualBox, so install it through there. If not, see here.
You'll need a license of Parallels if you're using MacOS. You can buy one here, and download it through there.
After you've done so, you'll need to install the Parallels provider for Vagrant. That can be done through running this command in a terminal window:
vagrant plugin install vagrant-parallels
Open a terminal (or a Command Prompt window), and run these two commands:
git clone https://github.com/norm-robotics/vagrant.git
cd vagrant
In that window you opened before, run this command:
export VAGRANT_VAGRANTFILE=Vagrantfile.mac-arm64
vagrant up
In that window you opened before, run this command:
vagrant up
If you set everything up correctly (and you prayed to the correct gods), you should be greeted by a message in your terminal like so:
default: !!!!
default: !!!!
default: Your development machine has been fully setup. Visit http://localhost:8080 to get started.
Your development virtual machine is fully setup! Congratulations! Visit here in a browser of your choosing.
When you first visit that site, it may take a few minutes to load the VS Code interface as it downloads some necessary components. Please be patient with it.