diff --git a/briar-desktop/build.gradle.kts b/briar-desktop/build.gradle.kts
index 1e1d42036ee2015286bd87f7e6674b1b9c115bf6..dbdbb8384f797ba82605640f149e201300229868 100644
--- a/briar-desktop/build.gradle.kts
+++ b/briar-desktop/build.gradle.kts
@@ -179,27 +179,33 @@ pinpit.desktop {
                     qualifier = "ubuntu-20.04"
                     arch = "x64"
                     depends(
-                        "libc6", "libexpat1", "libgcc-s1", "libpcre3", "libuuid1", "xdg-utils",
-                        "zlib1g", "libnotify4"
+                        // determined by pinpitSuggestDebDependencies
+                        "libc6", "libexpat1", "libuuid1", "zlib1g",
+                        // manually added
+                        "xdg-utils", "libnotify4"
                     )
                 }
                 deb("UbuntuBionicX64") {
                     qualifier = "ubuntu-18.04"
                     arch = "x64"
                     depends(
-                        "libasound2", "libc6", "libexpat1", "libfontconfig1", "libfreetype6", "libgcc1",
-                        "libglib2.0-0", "libgraphite2-3", "libharfbuzz0b", "libjpeg-turbo8", "liblcms2-2",
-                        "libpcre3", "libpng16-16", "libstdc++6", "xdg-utils", "zlib1g", "libnotify4"
+                        // determined by pinpitSuggestDebDependencies
+                        "libasound2", "libbsd0", "libc6", "libexpat1", "libfontconfig1",
+                        "libfreetype6", "libgl1", "libglvnd0", "libglx0", "libpng16-16",
+                        "libx11-6", "libxau6", "libxcb1", "libxdmcp6", "libxext6",
+                        "libxi6", "libxrender1", "libxtst6", "zlib1g",
+                        // manually added
+                        "xdg-utils", "libnotify4"
                     )
                 }
                 deb("DebianBullseyeX64") {
                     qualifier = "debian-bullseye"
                     arch = "x64"
                     depends(
-                        "libasound2", "libbrotli1", "libc6", "libexpat1", "libfontconfig1", "libfreetype6",
-                        "libgcc-s1", "libglib2.0-0", "libgraphite2-3", "libharfbuzz0b", "libjpeg62-turbo",
-                        "liblcms2-2", "libpcre3", "libpng16-16", "libstdc++6", "libuuid1", "xdg-utils", "zlib1g",
-                        "libnotify4"
+                        // determined by pinpitSuggestDebDependencies
+                        "libc6", "libexpat1", "zlib1g",
+                        // manually added
+                        "xdg-utils", "libnotify4"
                     )
                 }
             }
diff --git a/vagrant/.gitignore b/vagrant/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..8000dd9db47c0b9dd34046ec17880dcbb27e5eb9
--- /dev/null
+++ b/vagrant/.gitignore
@@ -0,0 +1 @@
+.vagrant
diff --git a/vagrant/debian-bullseye/README.md b/vagrant/debian-bullseye/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8ad988c4d4b936274700364471048978ff02e601
--- /dev/null
+++ b/vagrant/debian-bullseye/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install git openjdk-17-jdk binutils ca-certificates
diff --git a/vagrant/debian-bullseye/Vagrantfile b/vagrant/debian-bullseye/Vagrantfile
new file mode 100644
index 0000000000000000000000000000000000000000..de480048ed2c61d8dfd715143383d82d9b186182
--- /dev/null
+++ b/vagrant/debian-bullseye/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "debian/bullseye64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/debian-bullseye/bootstrap.sh b/vagrant/debian-bullseye/bootstrap.sh
new file mode 100644
index 0000000000000000000000000000000000000000..9b3c9aff01db1c30cf40245ec3264aa348decec4
--- /dev/null
+++ b/vagrant/debian-bullseye/bootstrap.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-debian-bullseye.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
diff --git a/vagrant/ubuntu-bionic/README.md b/vagrant/ubuntu-bionic/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8c14ac92c9b9f44aec0157d54c50f56c333c8776
--- /dev/null
+++ b/vagrant/ubuntu-bionic/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install openjdk-17-jdk binutils ca-certificates
diff --git a/vagrant/ubuntu-bionic/Vagrantfile b/vagrant/ubuntu-bionic/Vagrantfile
new file mode 100644
index 0000000000000000000000000000000000000000..014a165c3d222ea4f3f7758d3a77a891ec8b54d5
--- /dev/null
+++ b/vagrant/ubuntu-bionic/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "ubuntu/bionic64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/ubuntu-bionic/bootstrap.sh b/vagrant/ubuntu-bionic/bootstrap.sh
new file mode 100644
index 0000000000000000000000000000000000000000..49c6e018630fca05799b2567562525a2cb4445dc
--- /dev/null
+++ b/vagrant/ubuntu-bionic/bootstrap.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# Install gedit as a random package that ensures `/usr/share/metainfo` is available
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2 gedit
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-ubuntu-18.04.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
diff --git a/vagrant/ubuntu-focal/README.md b/vagrant/ubuntu-focal/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8c14ac92c9b9f44aec0157d54c50f56c333c8776
--- /dev/null
+++ b/vagrant/ubuntu-focal/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install openjdk-17-jdk binutils ca-certificates
diff --git a/vagrant/ubuntu-focal/Vagrantfile b/vagrant/ubuntu-focal/Vagrantfile
new file mode 100644
index 0000000000000000000000000000000000000000..488535428f8f1ec6dc503abbc853f0287aad9d04
--- /dev/null
+++ b/vagrant/ubuntu-focal/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "ubuntu/focal64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/ubuntu-focal/bootstrap.sh b/vagrant/ubuntu-focal/bootstrap.sh
new file mode 100644
index 0000000000000000000000000000000000000000..63a3458319e25256df021bbad724d2da57d54d8b
--- /dev/null
+++ b/vagrant/ubuntu-focal/bootstrap.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-ubuntu-20.04.deb?job=b_package_linux"
+sudo dpkg -i briar.deb
diff --git a/vagrant/ubuntu-jammy/README.md b/vagrant/ubuntu-jammy/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d2b93573ba2f1463c98e76367f142da988d8cb59
--- /dev/null
+++ b/vagrant/ubuntu-jammy/README.md
@@ -0,0 +1,19 @@
+# Vagrant
+
+To get started type any of the commands below from within this directory.
+
+Start:
+
+    vagrant up
+
+Destroy and start over:
+
+    vagrant destroy && vagrant up
+
+After starting, do this to log in:
+
+    vagrant ssh
+
+For cloning git and running `./gradlew pinpitSuggestDebDependencies`:
+
+    sudo apt install openjdk-17-jdk
diff --git a/vagrant/ubuntu-jammy/Vagrantfile b/vagrant/ubuntu-jammy/Vagrantfile
new file mode 100644
index 0000000000000000000000000000000000000000..89f7171a4e06e63776de9b395a3087e60d4ca515
--- /dev/null
+++ b/vagrant/ubuntu-jammy/Vagrantfile
@@ -0,0 +1,17 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.vm.box = "ubuntu/jammy64"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 4096
+  end
+
+  config.vm.provision :shell, path: "bootstrap.sh"
+
+  config.ssh.forward_agent = true
+  config.ssh.forward_x11 = true
+end
diff --git a/vagrant/ubuntu-jammy/bootstrap.sh b/vagrant/ubuntu-jammy/bootstrap.sh
new file mode 100644
index 0000000000000000000000000000000000000000..63a3458319e25256df021bbad724d2da57d54d8b
--- /dev/null
+++ b/vagrant/ubuntu-jammy/bootstrap.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y xauth xdg-utils libnotify4 libasound2
+
+wget -O briar.deb "https://code.briarproject.org/briar/briar-desktop/-/jobs/artifacts/main/raw/briar-desktop-ubuntu-20.04.deb?job=b_package_linux"
+sudo dpkg -i briar.deb