Cygwin

From wikinotes

Cygwin provides a unix-like environment to run processes under windows by emulating unix syscalls.
It has no CLI package manager, but the installer can be scripted to install packages.

Notes

cygwin install
cygwin package management
cygwin configuration
cygwin programs
cygwin troubleshooting

Install

chocolatey installs cygwin to C:\programdata\chocolatey\cygwin\tools\cygwin

Cygwin is built to be able to be run in a portable way. You install, update, and get new packages by re-running the cygwin installer.

Always install the 32 bit version of cygwin, unless you absolutely need it to be 64bit. It is much more supported. Cygwin doesn't seem to require any registry keys to be set, the only things that affect it's portability are some environment variables.

NOTE If you are using my package-setup script, always run it with a normal cygwin http-repo as a source, reboot, then run with the private key for a cygports repo. If you fail to do this, and run the cygports repo first, you may end up with corrupted packages.