What packages should I install with Cygwin to make it not bloated but also have everything I would need as a developer?


Normally, I run Linux in a VM, however, most of my VMs are on an external HDD and I might or might not have one with me. I figure Cygwin would be a good alternative for lightweight functionality when I need something Linux like and don't have a VM on my laptop. But I'm having trouble getting the configuration right – I want the bare minimum for development + X11. Has anyone used Cygwin in this manner? If so, what suggestions do you have?

Best Solution

Update: I've switched over to WSL since posting this answer. If you're still using Cygwin give it a try. It's not a drop-in replacement but it's nicer in a number of ways.

Personally, I find having to exit Cygwin just to install new packages annoying enough to try to avoid the just-in-time strategy, and fortunately there's a tool to make this much easier: apt-cyg. This way you actually can just-in-time install packages without having to quit Cygwin.

That said, here's a list of common packages you might want to install, whether via the installer or via apt-cyg:

  • bash-completion
  • lynx (to install apt-cyg), wget and curl
  • vim
  • hg, git, and maybe svn and git-svn
  • diffutils and patchutils
  • python and python3

There's tons of Cygwin setup posts out on the internet too, I referenced this one.

Related Question