Automate your VM setup on Mac

vagrant_utm is a Vagrant plugin which adds UTM provider to Vagrant, allowing Vagrant to control and provision machines via UTM’s API.

Get started now View it on GitHub


UTM is a free, full featured system emulator and virtual machine host for iOS and macOS. The UTM provider currently supports UTM versions 4.5.x (except 4.5.0).

Vagrant enables the creation and configuration of lightweight, reproducible, and portable development environments using Vagrantfile. The UTM provider plugin works with Vagrant version 2.4.1 .

Both UTM and Vagrant must be installed prior to using this plugin.

Browse the docs to learn more about how to use this plugin.

Getting started

Get started with Vagrant UTM plugin in 3 simple steps.
Make sure both Vagrant and UTM are installed before your proceed.

UTM Vagrant plugin is built around the existing UTM API. Some steps like Import, Snapshot are not straightforward. Please check Known Issues before using this plugin.

Install

Install vagrant_utm plugin.

vagrant plugin install vagrant_utm

Use

Save the below config in your Vagrantfile.

Vagrant.configure("2") do |config|
  config.vm.provider :utm do |u|
    u.utm_file_url = "https://github.com/naveenrajm7/utm-box/releases/download/debian-11/debian_vagrant_utm.zip"
  end
end

Run

Bring up vagrant environment.

vagrant up

Now start using your machine!

vagrant ssh to log into machine or forward ports to check your website or share folders and start developing.

Check Commands for all supported Vagrant commands. Check Configuration for more UTM provider config options.

About the project

Vagrant UTM is © 2024 by Naveenraj Muthuraj.

License

The Vagrant UTM plugin is available as open source under the terms of the MIT License. However, it uses vagrant library and parts of the code from virtualbox plugin both of which are BSL. Please be aware of this if you intend on redistributing this plugin.

Contributing

Bug reports and pull requests are welcome on GitHub at Vagrant UTM repo. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

Thank you to the contributors of Vagrant UTM Plugin!

  • naveenrajm7

Code of Conduct

Everyone interacting in the Vagrant UTM project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.