Vagrant Linux Desktop


Provide a method of reproducible graphical development environments based on Linux. This repository provides a base Linux Desktop environment, sandboxed on your local computer.

Getting Started

You can use this locally with vagrant up, calling as such:

vagrant --name=mydesktop --file=desktop.yaml up

However It is recommended to use the script for the first run to ensure all necessary arguments are provided. The provided arguments requires a settings.yaml, storing the settings for the machine. You can see an example of one in tools/simple.yaml. You can create the machine by calling:

sh -n mydesktop -d ubuntu

If you want more information about the script, you can do so by calling:

sh -h


The parameters are used in the calling of vagrant up, primarily as vagrant [OPTIONS] up. After provisioning the environment, a settings file (setting.yaml) is created, which stores the provided parameters.

Name Type Description
name string Name of the provisioned desktop environment
desktop filename The name of the desktop provisioning script. These scripts are present in packaging/environments.

The vagrant environment is based on the bento/ubuntu images. If the timezone is not set, the provision script will attempt to auto-detect the timezone using tzupdate.


The following are arguments to the settings.yaml file:

Name Type Description
name string Name of the provisioned desktop environment
box vagrant-box The name of the underlying vagrant box
path dirname The path to the .vagrant directory
desktop string The name of the desktop provisioning script
logs dirname The directory to dump logs files
synced_folders (host: directory, guest: directory)[] A collection of syneced folders.

An example yaml is included below:

name: lab
box: ubuntu/trusty64
path: "."
desktop: ubuntu-minimal
logs: "log_dir"
  - host: "../"
    guest: "/media/vagrant"


The project icon is retrieved from the Noun Project. The original source material has been altered for the purposes of the project. The icon is used under the terms of the Public Domain.

The project icon is by Maxi Koichi from the Noun Project.