Repaving a New Windows 7 VM

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

  1. Vista Switcher
  2. Ruby
  3. MinGW
  4. Autohotkey
  5. Copy the contents of /to_backup/new_windows_install/startup_software/utils to /c/utils. This folder contains:
    • sysinternals
    • myuninstaller
  6. Beyond Compare
  7. Executor
  8. Unlocker
  9. msysgit
  10. gvim
  11. 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

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, 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!!

Develop With Passion®