On Thurday my windows vm image died along with my backup of it!!
I thought this was a good opportunity to repave a brand new vm that I can also create linked clones from to quickly scaffold new vm’s moving forward.
This post is mostly to help me remember the install process and the base tools that I install on a fresh windows 7 vm, as this is not something I do very often!! I included screenshots of most of the install steps, just so I can both remind myself what my defaults are, as well as for your benefit if you wish to copy this setup.
Base Tools Install
- Vista Switcher

- Ruby

- MinGW

- Autohotkey

- Copy the contents of /to_backup/new_windows_install/startup_software/utils to /c/utils. This folder contains:
- sysinternals
- myuninstaller
- Beyond Compare

- Executor

- Unlocker

- msysgit

- gvim

cygwin
Install the following packages:- Archive
- unzip – Unzipping zip files
- Net
- openssl – bin and sources
- openssh – Only if you are not going to compile openssh yourself
- curl – download internet resources
- Devl
- colorgcc
- gcc
- gcc-core – compiler
- git
- git-completion
- git-gui
- git-svn
- gitk
- libtool – Shared library generation tool. You’ll need it when trying to compile rubies
- libncurses-devel – Used when compiling several other tools I use
- make
- mercurial
- openssl-devel – Required for compiling openssh (not necessarily required for rvm, but I always install it to compile openssh myself)
- readline
- Utils
- ncurses – Enabling better handling of terminal
- patch – Apply a diff file to an original. Again, you’ll need it when rvm is trying to patch the ruby installs

- Archive
Along with the tools outlined above I also manually compiled the following:
Well that’s it for the base tool install!! There are a couple of other steps I do to configure msys and cygwin to play nice together, but that’s another post!! Outside of that, this is what constitutes my bare minimum for a usable windows vm. From this base image, I can create linked clones that allow me to create project specific vm’s that have further tools installed (such as vs, vs.net etc) specific to the contract/project I am working on.
Still To Come
In a follow up post I’ll detail a set of tools, scripts and code that allows me to configure this entire toolset, so that I can have a seamless environment that supports :
- Vim with a host of my favourite plugins
- An organized eaash environment with well partitioned dotfiles etc
- Simple, plugin style automation tasks
Most importantly, the bash/vim/automation setup I have allows me to share all of the important scripts such as:
- dotfiles
- automation scripts
On all three of the main environments I work in :
- OSX
- Ubuntu
- Windows (cygwin and mingw)
Until next time!!