mirror of https://github.com/openXC7/prjxray.git
60 lines
2.0 KiB
Ruby
60 lines
2.0 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
Vagrant.configure("2") do |config|
|
|
config.vm.box = "bento/ubuntu-16.04"
|
|
|
|
config.vm.network "private_network", type: "dhcp"
|
|
|
|
# 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 "..", "/prjxray", type: "nfs"
|
|
|
|
config.vm.provider "virtualbox" do |vb|
|
|
vb.gui = true
|
|
end
|
|
|
|
# Base boxes are almost always server installs. Install the desktop
|
|
# components along with the C++ build tools.
|
|
config.vm.provision "shell", inline: <<-SHELL
|
|
apt-get update
|
|
apt-get upgrade -y
|
|
apt-get install -y ubuntu-desktop build-essential git cmake
|
|
SHELL
|
|
|
|
# Strangely, headless Vivado installs still require a running X server.
|
|
# Turn on auto-login so the user's X server is active.
|
|
config.vm.provision "shell", inline: <<-SHELL
|
|
mkdir -p /etc/lightdm/
|
|
echo "[Seat:*]" > /etc/lightdm/lightdm.conf
|
|
echo "autologin-user=vagrant" >> /etc/lightdm/lightdm.conf
|
|
systemctl start lightdm
|
|
SHELL
|
|
|
|
# Install Vivado.
|
|
config.vm.provision "shell", inline: <<-SHELL
|
|
if [ ! -d /vagrant/Vivado ]; then
|
|
echo "No Vivado download found. Skipping install."
|
|
else
|
|
echo "Installing Vivado. This takes a while. I suggest going for a walk."
|
|
export DISPLAY=:0
|
|
/vagrant/Vivado/xsetup --agree 3rdPartyEULA,WebTalkTerms,XilinxEULA --batch Install -e "Vivado HL WebPACK" --location "/opt/Xilinx"
|
|
cp /vagrant/profile.d/* /etc/profile.d/
|
|
fi
|
|
SHELL
|
|
|
|
# Turn off idle screen locking and screensaver password.
|
|
config.vm.provision "shell" do |s|
|
|
s.privileged = false
|
|
s.inline = <<-SHELL
|
|
export DISPLAY=:0
|
|
dconf write /org/gnome/desktop/screensaver/idle-activation-enabled false
|
|
dconf write /org/gnome/desktop/screensaver/lock-enabled false
|
|
SHELL
|
|
end
|
|
|
|
config.vm.provision :reload
|
|
end
|