Treat cygwin as just another unix variant and it will go pretty far. Windows native apps and virtualbox are guaranteed to cover any missed requirements.