Skip to content

Instantly share code, notes, and snippets.

@cyberzed
Created February 20, 2015 11:23
Show Gist options
  • Save cyberzed/382e60ddfd89219f2522 to your computer and use it in GitHub Desktop.
Save cyberzed/382e60ddfd89219f2522 to your computer and use it in GitHub Desktop.
# -*- mode: ruby -*-
# vi: set ft=ruby :
install_mono_cmd = 'sudo apt-key adv --keyserver pgp.mit.edu' \
' --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;' \
'echo "deb http://download.mono-project.com/repo/debian' \
' wheezy main"' \
' | sudo tee /etc/apt/sources.list.d/mono-xamarin.list;' \
'sudo apt-get update;' \
'sudo apt-get dist-upgrade -y;' \
'sudo apt-get install mono-complete -y'
install_kvm_cmd = 'sudo apt-get install unzip -y;' \
' curl -sSL https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh' \
' | sh && source ~vagrant/.kre/kvm/kvm.sh;' \
'kvm upgrade'
install_libuv_cmd = 'sudo apt-get install curl autoconf automake build-essential' \
' libtool -y;' \
'LIBUV_VERSION=1.0.0-rc2 && curl -sSL' \
' https://github.com/joyent/libuv/archive/v${LIBUV_VERSION}.tar.gz' \
' | sudo tar zxfv - -C /usr/local/src &&' \
' cd /usr/local/src/libuv-$LIBUV_VERSION &&' \
' sudo sh autogen.sh && sudo ./configure && sudo make &&' \
' sudo make install && sudo rm -rf /usr/local/src/libuv-$LIBUV_VERSION' \
' && sudo ldconfig'
sysprep = 'sudo apt-get update'
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "chef/ubuntu-14.04"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 5004, host: 8080
# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
config.vm.synced_folder "../Git/ASPNETv5", "/aspnet"
config.vm.provision "sysprep", type: "shell", privileged: false,
inline: sysprep
config.vm.provision "install_libuv", type: "shell", privileged: false,
inline: install_libuv_cmd
config.vm.provision "install_mono", type: "shell", privileged: false,
inline: install_mono_cmd
config.vm.provision "mozroots", type: "shell", privileged: false,
inline: 'mozroots --import --sync'
config.vm.provision "install_kvm", type: "shell", privileged: false,
inline: install_kvm_cmd
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment