diff --git a/.gitignore b/.gitignore
index 53bd95ca6cc8cbe07ca0a6490f355aa2d7419813..9c22d0012acad8e5966d01a6e7252d58a28e6190 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,5 +9,7 @@ dist/
 *.egg-info/
 __pycache__/
 *.log
-.tox
-.cache
+.tox/
+.cache/
+.vagrant/
+.idea/
diff --git a/MANIFEST.in b/MANIFEST.in
index 9620571617add34c60bad977105bb8c3f09343df..739eaea22ed54cef15502fcce47ffc9c90e6757a 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,2 +1,2 @@
 recursive-include unshare
-exclude .pre-commit-config.yaml Makefile
+exclude .pre-commit-config.yaml Makefile Vagrantfile
diff --git a/README.rst b/README.rst
index 6d60ec59631c33f9544059cfd6332098559f2fd5..f29ecf5186a9d1b43f9b50dc38aa0461b309bdec 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,25 @@
 python-unshare
 ##############
 
-This is a pure-Python module for accessing libc functions and macros needed
-for dealing with Linux namespaces.
+This is a pure-Python module with no external dependecies for accessing libc
+functions and macros needed for dealing with Linux namespaces.
+
+Development
+-----------
+
+Development has the following dependecies:
+- Tox (install from PyPI by running (:code:`pip install tox`).
+- libc headers, make and GCC (On Debian/Ubuntu install by running :code:`apt
+install linux-libc-dev build-essential`).
+
+Testing is done by running :code:`tox`. Auto-generated code (for now just
+:code:`unshare/constants.py`) is generated by running :code:`make all`. For Mac
+developers there's a Vagrant box defined (it optionally uses
+`vagrant-gatling-rsync <https://github.com/smerrill/vagrant-gatling-rsync>`_).
+
+TODO
+----
+
+- License.
+- Changelog.
+- Documentation.
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000000000000000000000000000000000000..d442cea02e844f9b88cd6202bb90a23804e34d43
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,18 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+Vagrant.configure(2) do |config|
+  config.vm.box = "debian/jessie64"
+  if Vagrant.has_plugin?("vagrant-gatling-rsync")
+    config.gatling.latency = 2.5
+    config.gatling.time_format = "%H:%M:%S"
+    config.gatling.rsync_on_startup = true
+  end
+  config.vm.synced_folder ".", "/home/vagrant/python-unshare",
+    type: "rsync",
+    rsync__exclude: [".cache", ".tox", "*.egg-info", "*.swp", ".DS_Store", ".idea"]
+  config.vm.provision "shell", inline: <<-SHELL
+    sudo apt-get update
+    sudo apt-get install -yf build-essential linux-libc-dev python-pip python3-pip git
+    sudo pip install tox
+  SHELL
+end