Cygwin is invaluable to any Windows developer used to (or even just familiar with) the tools that are available in a GNU/Linux development environment.
Probably the only complaint that I have is that the setup tool doesn’t take care of cleaning up old packages. While I don’t have all of the packages installed, I have enough of them that I don’t want to have to prune the packages by hand. Enter cygpkgclean; its a little PERL script that deletes all packages except the current and previous versions (of both binary and source packages). It doesn’t yet cater for packages that are no longer in the setup.ini or that have moved to a new directory.
I had hoped to implement this as nothing more than a bash script (so that it would run on the barest of cygwin installations), but that proved to be a little beyond my meager script-fu (for now!).
