I've had the misfortune of having to work on a Windows-based PC from time to time, and it takes a bit of time to figure out the right software required to configure a Windows workstation for proper web development. Additionally, since Windows is harder (if not impossible) to script via simple CM tools like Puppet or Ansible (and I have no desire to learn the vagaries of PowerShell, though some Windows-loving friends seem to think highly of it), I hate having to sit around googling links to get downloads of all the required apps.
Here's a simple list of all the software packages I install on Windows workstations to do development via Linux VMs (configured via Vagrant + VirtualBox):
- Google Chrome
- FireFox
- Cygwin (with the following packages installed via Setup.exe):
- openssh
- openssl
- openssl-devel
- ping
- rsync
- whois
- nano
- vim
- vim-common
- mysql
- sqlite3
- git
- git-completion
- git-svn
- gitk
- wget
- curl
- Sublime Text 3
- TortoiseSVN
- TortoiseGit
- Pidgin
With these tools, I can do all the things I need to do in a pinch:
- Browse the web with a proper browser (with a full suite of good debugging tools to boot).
- Edit text (vim via cygwin, or Sublime Text 3).
- Use git (via cygwin, or when demonstrating Git to SVN-minded people, TortoiseGit).
- Use SVN (via TortoiseSVN... some places still use it).
- Set up a private key and connect to remote hosts via SSH (via cygwin).
- Connect to mysql and sqlite databases (via cygwin).
- Communicate via IRC, Jabber, etc. (via Pidgin).
Generally, though, I try to remember to bring my personal laptop with me if I'm ever in a situation when I need to do some work in a Windows-only or Windows-preferred environment ;).