Migrating from Cygwin to Msys2 as Daily Driver When Using Windows
·
976 words
·
Hojin Koh
I had long been using Cygwin as my main operating environment when I needed to use Windows—which helped me keep my sanity level above zero. A little while ago, I migrated from Cygwin to one of its derivatives: MSYS2. Why?
- Cygwin’s package manager (the
setup.exe
) wasn’t nice, to put it nicely. - MSYS2’s package manager, pacman, was one of the low-headache package managers I liked.
- I frequently needed to interact with native Windows executables from the command line. Famous ones include go, node.js, and rust, but there were also obscure things like Kerbal Space Program or Monster Hunter modding tools—these would be difficult to interface with from WSL. Cygwin didn’t do too well in this respect—I had a lot of wrapper scripts to convert paths and things.
However, it wasn’t exactly a no-brainer. There were pros and cons—MSYS2 was designed with a very different purpose in mind from Cygwin, after all. This page from MSYS2 wiki describes this in a nice summary (emphasis mine):