Cygwin - cllu/.rc GitHub Wiki

For terminal lover like me, cygwin is a must-have in Windows.

Common packages to install

Besides the base packages, I always install the following:

  • web: openssh, wget, curl, whois, telnet
  • development: git, subversion, python, gcc, gcc-g77, make, cmake, automake, autoconf, llvm
  • editor: vim, emacs, emacs-el
  • shell: zsh
  • science: octave, gnuplot,
  • X: xorg-server, xinit, X-start-menu-icons

Change user name and home directory

Cygwin will mapping your Windows username by default. I usually use full name as Windows name, however, I would like to use shortname in my terminal. This is quite easy to change, edit /etc/passwd, and change the first field and the home field is enough.

Use zsh as default shell

I love zsh, however cygwin is more traditional and use bash as default shell. You may change the setup script Cygwin.bat, but this will not work in recent Cygwin as the Cygwin-Terminal will point to the mintty by default. In this case, you can edit your /etc/passwd and change the /bin/bash to /usr/bin/zsh. you may encounter this warning:

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

To suppress this, run the command

compaudit | xargs chmod 550

Others may suggest using compaudit | xargs chmod g-w, but it does not work on my cygwin. so I just remove everyone's write access to zsh folders.