vagrant-desktop

Vagrant Linux Desktop

Summary

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 create.sh 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 create.sh -n mydesktop -d ubuntu

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

sh create.sh -h

Parameters

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.

NameTypeDescription
namestringName of the provisioned desktop environment
desktopfilenameThe 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 .

Settings

The following are arguments to the settings.yaml file:

NameTypeDescription
namestringName of the provisioned desktop environment
boxvagrant-boxThe name of the underlying vagrant box
pathdirnameThe path to the .vagrant directory
desktopstringThe name of the desktop provisioning script
logsdirnameThe 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"
synced_folders:
  - host: "../"
    guest: "/media/vagrant"

Acknowledgements

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 .