Step by step, NKOTB style.

Install Cygwin-32

Download here. You want the executable called full.exe. Install it, follow the directions, it's pretty straightforward.

I'm going to assume

Patch It

Patch for beta-20.1 . Extract the dll for this zip and replace the one cygnus gave you look in. The original cygwin1.dll lives in C:\cygnus\cygwin-b20\H-i586-cygwin32\bin . IE will the file you download as coolview_tar.tar but it is a gzipped tar file. Extract it under bash using
tar -zxf coolview_tar.tar
You must replace the original cygwin1.dll file with the one in this tarball, or lots of things will not work,. Exit all cywgin programs and use command.com to copy it over the original.

Start cygwin20

You're in bash now. do:
umount /
mount -b c: /
If you installed to someplace other than c:\cygnus you might want to mount a different point as root. Mount points will persist (registry entries).
mkdir /etc
mkdir /tmp
mkdir /home
ln -s /cygnus/cygwin-b20/H-i586-cygwin32/bin /bin
A quick note about filenames ... cygwin programs accept the syntax //DRIVE_LETTER/directory/directory/filename, e.g., //C/cygnus/cygnus.bat is the equivalent of the dos C:\cygnus\cygnus.bat . Only cygwin programs can follow cygwin symlinks.

Now set some environment variables, not in bash, but rather NT style (right click on my computer, select properties, go to environment tab).

CYGWIN_TTY = 1 
PATH = $PATH;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin;C:\bin;C:\usr\local\bin
CVS_RSH = /usr/local/bin/ssh1.exe
CVSROOT = your_user_name_at_umberto@umberto.idealab.com:/mnt/club/cvs
CYGWIN32 = mixed
if you haven't set a HOME environment variable, you should also do so, e.g., C:\Windows\Profiles\YOUR_USER_NAME .

note for the PATH i intend for you to append to whatever is already there. the CVS_ROOT variable setting assumes you'll be using the standard idealab cvs repository. this is probably the case, but you can always override it at the command line with CVS. now type



add other mount points if that turns you on.  use -b when mounting ... 
it's cooler.

exit and restart cygwin20.

Install command line ssh/scp

Get some stuff via ftp, e.g., using windows command line ftp
cd /
ftp dome.weeg.uiowa.edu
anonymous
(Enter your e-mail address)
bin
cd pub/domestic/sos/ports
get ssh-1.2.26-cygwinb20.tar.bz2
get cvs-1.10-cygwinb20.tar.bz2
quit
Untar ssh using
tar --use=bzip2 -xf /ssh-1.2.26-cygwinb20.tar.bz2
ssh and scp are now in /usr/local/bin. the symlinks in the tarball are broken, so type
cd /usr/local/bin
rm ssh
ln -s ssh1.exe ssh
rm scp
ln -s scp1.exe scp
try to execute ssh, it won't work. you need to create a password entry. type
id
to get your user_id (i always seem to get 500). edit /etc/passwd with a text editor and do something like:

eminem:*:500:500:Slim Shady:/home/shady:/bin/bash
password doesn't matter ... it isn't used. make sure to construct your home directory (/home/shady in this example). note if you use paternalistic software like notepad it will append a .txt and save it as passwd.txt ... so you'll have to move it.

Optional ... install sshd

do this if a) you want remote access to your machine or the related issue b) you want to keep a cvs repository on your machine which is accessed via ssh.

sshd is in /usr/local/sbin. you'll want to run it as a NT service so that it gets started at boot time with the right priviledges. invoker is a utility that let's you run programs at services. grab it, install it, it's straightforward from here. make sure to give invoker the full (NT-style) path to sshd, and make sure to use sshd1.exe, not the convenient symlink.

Install CVS

untar the cvs tarball obtained above
cd /
tar --use=bzip2 -xf cvs-1.10-cygwinb20.tar.bz2

Other cool shite

here and also here(X11) and some cool stuff here.

Party.