# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

    version = "1.4.2"
    hostname = "golang.box"
    locale = "en_GB.UTF.8"
    workspace = "/usr/workspace"
    package = "dev"

    # Box
    config.vm.box = "ubuntu/trusty64"

    # Shared folders
    config.vm.synced_folder ".", "#{workspace}/src/#{package}"

    # Setup
    config.vm.provision :shell, :inline => "touch .hushlogin"
    config.vm.provision :shell, :inline => "hostnamectl set-hostname #{hostname} && locale-gen #{locale}"
    config.vm.provision :shell, :inline => "apt-get update --fix-missing"
    config.vm.provision :shell, :inline => "apt-get install -q -y g++ make git curl vim"

    # Lang
    config.vm.provision :shell, :inline => "mkdir -p #{workspace}/bin #{workspace}/pkg"
    config.vm.provision :shell, :inline => "rmdir /srv && ln -s #{workspace}/src/#{package} /srv"
    config.vm.provision :shell, :inline => "echo 'fetching go#{version}.linux-amd64' && wget -q https://storage.googleapis.com/golang/go#{version}.linux-amd64.tar.gz"
    config.vm.provision :shell, :inline => "tar -C /usr/local -xzf go#{version}.linux-amd64.tar.gz"
    config.vm.provision :shell, :inline => "echo 'export PATH=$PATH:/usr/local/go/bin:#{workspace}/bin' > .bash_profile"
    config.vm.provision :shell, :inline => "echo 'export GOPATH=#{workspace}' >> .bash_profile"
    config.vm.provision :shell, :inline => "source .bash_profile && go get github.com/tools/godep"
    config.vm.provision :shell, :inline => "chown -R vagrant:vagrant #{workspace}"

end