This is a vagrant project to build and spin up a VM with the following: -
- Ubuntu 18.04
- Java 8 (OpenJDK)
- XFCE4 desktop
- Apache Spark (2.3.3)
- IntelliJ : -
- Scala IDE
- pycharm
- Firefox
- Python (3) Miniconda installation
- Download and install VirtualBox
- Download and install Vagrant.
- Go to releases and download and extract the latest source of this project.
- In your terminal change your directory into the project directory (i.e.
cd vagrant-dev-machine
) - Run
vagrant up
to create the VM. - Execute
vagrant ssh
to login to the VM or login to XFCE via virtualbox. - You will need to shutdown (
shutdown -P now
) and restart (vagrant up
) to get a graphical prompt via virtualbox - logon using vagrant/vagrant.
NOTE This machine will take a significant time to provision initially whilst it downloads and builds the packages required.
The user id of the VM is vagrant
with a password of vagrant
.
Vagrant automatically mounts the folder containing the Vagrant file from the host machine into
the guest machine as /vagrant
inside the guest.
To stop the VM and preserve all setup/data within the VM: -
vagrant halt
or
vagrant suspend
Issue a vagrant up
command again to restart the VM from where you left off.
To completely wipe the VM so that vagrant up
command gives you a fresh machine: -
vagrant destroy
Then issue vagrant up
command as usual.
A nicer version of vim is also installed, use :PluginInstall
to install the plugins from within vim itself: -
- indentpython.vim Proper indentation for Python source.
- vim-scala scala synatax highlighting and indentation.
- nerdtree file manager (CTRL-N).
- vim-airline nice status line.
- vim-airline-themes themes for above.
- ctrl-p - ctrl-p fuzzy file matcher.
- vim-instant-markdown vim markdown syntax and previewer.
- Running
vagrant provision
multiple times can cause issues - need to fix. - Java heapsize in Eclipse needs to be adjusted to run Scala IDE - Eclipse shows you how to do this on first startup.
- You may need to manually set video memory to > 16Mb in virtualbox gui in order to allow full screen operation.
Thanks to Budhaditya for the silent eclipse install script.