I this is essentially an automated version of the environment setup instructions outlined in an article written by Stephen Diehl, with only minor tweaks.
You will need Vagrant and a compatible version of VirtualBox on your machine. This project was built using Vagrant 2.0.1 with vagrant-vbguest
plugin (0.15.1) and VirtualBox 5.3.10.
Initialize a new Vagrant environment
vagrant init valfadeev/haskell-vim-proto
Your current directory on host will be mapped to /vagrant
inside the box by default. Optionally edit the generated Vagrantfile to sync a different folder with your existing project sources, for example:
config.vm.synced_folder "./projects", "/home/vagrant/projects"
Login to the box with vagrant ssh
. Create a new project using stack
, or navigate to an existing one. Happy coding!
The machine image is built using Packer (v1.1.4) with Ansible (2.4.2.0) provisioner. Packer runs virtualbox-ovf
builder which requires an OVF
file as input. In order to avoid moving files around we rely on the standard location where they are stored by Vagrant when boxes are added using vagrant add
.
- build an image for haskell-vim-now