- Parallels Pro for Mac: https://www.parallels.com/products/desktop/pro/
- Parallels Virtualization SDK for Mac: https://www.parallels.com/products/desktop/download/
- Xcode Command Line Tools (There are multiple ways to install this. A simple method:
xcode-select --install
- Install
packer
via homebrew (if you don't already have homebrew installed, you can install homebrew via instructions here: https://brew.sh/):brew tap hashicorp/tap
brew install hashicorp/tap/packer
- (Optional, but recommended):
brew upgrade hashicorp/tap/packer
- Clone
vxsuite-build-system
via https or ssh- Via https:
git clone https://github.com/votingworks/vxsuite-build-system.git
- Via ssh:
git clone [email protected]:votingworks/vxsuite-build-system.git
- Via https:
- Initialize packer
- Be sure to cd into the newly cloned
vxsuite-build-system
repo - Run:
packer init parallels-debian12.pkr.hcl
- Be sure to cd into the newly cloned
- Run:
packer build parallels-debian12.pkr.hcl
(This will take 10-20 minutes, depending on your machine and internet speed. You can watch the progress by opening the VM from the Parallels Control Center.) - Once it completes, you will have a new VM available in your local Parallels directory. This is
~/Parallels
by default. To start this VM, run:open ~/Parallels/debian-11.6-arm64.pvm/
- The default username is
vx
with a default password ofchangeme
You can further customize your Parallels VM with various options provided to the packer build
command. Unless otherwise noted, you can combine as many of these in a single command as you want.
If you'd like to change the default username, use the local_user
variable.
For example: packer build -var "local_user=your_username" parallels-debian12.pkr.hcl
It's possible to make a local folder accessible to this Parallels VM via two variables.
shared_path
- the full path on your local machine to make available in the VM (default is /tmp)enable_shared_path
- whether to enable/disable sharing. The default isdisable
For example, to share your home directory to the VM:
packer build -var "shared_path=/Users/your_username" -var "enable_shared_path=enable" parallels-debian12.pkr.hcl
Depending on your needs, you can increase or decrease the resources allocated to your VM.
vm_cpus
- This determines how many CPUs are available to the VM. The default is 2.vm_memory
- This determines the amount of RAM (in megabytes) available to the VM. The default is 8192 (8GB).
For example, to allocate 4 CPUs and 16 GB of RAM to a VM:
packer build -var "vm_cpus=4" -var "vm_memory=16384" parallels-debian12.pkr.hcl
To change the name of the VM being built, use the vm_name
variable (default is debian-11.6-arm64.pvm)
For example, to name your VM "MyVM":
packer build -var "vm_name=MyVM" parallels-debian12.pkr.hcl
All files are licensed under GNU GPL v3.0 only. Refer to the license file for more information.