Getting Started

Requirements#

Mac Apple silicon
macOS 27 or newer
Disk space A Linux image is under 1 GB. The macOS restore image is about 25 GB.

Install#

Install with Homebrew:

brew install --cask swiftvm-app/tap/swiftvm

Or download it yourself:

  1. From the latest release, download SwiftVM-<version>.dmg.
  2. Drag SwiftVM to /Applications and open it.

The app updates itself, also when installed with Homebrew. See Updates.

To build it from source instead, see Building.

The menu bar#

SwiftVM lives in the menu bar. There is no main window: click its item to see your virtual machines, start and stop them, and reach everything else. Each machine's display opens in a window of its own.

Opening SwiftVM puts its item in the menu bar and nothing else: no window comes up until you ask for one.

Your first virtual machine#

A Linux machine is the quickest start:

  1. Choose New Virtual Machine in the panel, or press Cmd+N. Keep Linux as the operating system, and Simple.
  2. Pick a distribution. For a desktop, choose Add… next to Setup Scripts, click one, and set a password. Without a script you get a server.
  3. Choose Create. SwiftVM downloads the image, sets up your account and SSH key, and starts the machine. A desktop installs itself in about ten minutes and the machine restarts into it.

For macOS, pick macOS as the operating system and enter a password for the account. The download is large, and installing takes a few minutes. See macOS guests.

Connect#

  • Use the display. Choose Open Window on the machine in the panel.
  • Use SSH. Choose Open in Terminal, or run swiftvm ssh <machine>. To use plain ssh <machine>, turn on Add machines to ~/.ssh/config in Settings. See SSH.

The swiftvm command#

Homebrew puts swiftvm on your PATH. If you installed from the DMG, choose Settings… → Command Line → Install Command Line Tool…, which links /usr/local/bin/swiftvm.

swiftvm create ubuntu-26.04 --name "Web Server"
swiftvm ssh web-server

The app must be running. See Command line.

Beta#

Beta builds get new features first. Download one from the newest v<version>-beta.<N> pre-release on the releases page. A beta build updates to each new beta.

Next#

Edit this page on GitHub