tvjg / hermit-crab

Develop with less fear! Quickly provision a clean virtual environment kitted out for development.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hermit-crab

Develop with less fear! Quickly provision a clean virtual environment kitted out for development.

Overview

Attempting to keep your OS clean of the cruft that builds up during software development is a near impossible task. hermit-crab automates the drudge work of building new 'disposable' environments.

It uses Vagrant with Ansible to manage the configuration and provisioning of a virtual machine for development. It's a recipe that reflects my preferences and opinions, but will hopefully mature into a project that could be forked and easily adjusted to another's tastes.

Provides

  • Debian 8 "Jessie"
  • Dirt simple Ansible scripts written with a single user/machine in mind
  • Minimal i3-wm
  • VirtualBox Guest Additions
  • Avahi to register itself on LAN at hermit.local
  • Ruby, NodeJS, and Java 8 runtimes
  • rbenv, nvm, lein, boot-clj
  • dotfiles and useful ~/bin tools
  • Vim + Emacs!

Usage

$ git clone https://github.com/tvjg/hermit-crab
$ cd hermit-crab
$ vagrant up

Reboot for VirtualBox Guest Additions to take effect.
$ vagrant reload

The VM is configured to run with a GUI. You can enter the default username/password vagrant:vagrant on the login screen. Alternately, use vagrant ssh from the project directory.

TODO

  • Add project repository list to pull on provision
  • Extract more configuration to vars
  • Add Ansible tags to toggle package configuration
  • Make it easy to share SSH keys from host
  • Enable unattended security updates
  • Investigate alternate desktop environments
  • Restore ansible workaround for Windows
  • Avahi instructions for Windows

About

Develop with less fear! Quickly provision a clean virtual environment kitted out for development.