Windows

Where Does Cygwin Keep Home Files and Packages?

Cygwin roots a Unix tree at C:\cygwin64 with homes inside. The layout plus the leftover package cache.

Last updated

Cygwin plants a Unix filesystem rooted at its install folder, C:\cygwin64 for 64 bit setups. Your shell home is C:\cygwin64\home\<user>, not the Windows profile, with dotfiles living there. etc, bin, and lib hang off the same root.

Downloaded package archives linger in the Local Package Directory picked during setup, safe to delete for space. Install locations also register under HKCU\SOFTWARE\Cygwin\Installations. Moving the tree by hand breaks mounts; reinstall to a new root and reimport the package list instead.

Where Cygwin stores this, by platform

Windows
C:\cygwin64\home

Per user homes inside the Cygwin root. Avoid roots with spaces or system dirs like C:\. Package archives sit in the setup Local Package Directory, deletable after install.

Frequently asked questions

why is my cygwin home not my windows home

By design the Cygwin root doubles as /. Your ~ maps to home/<user> inside it. Symlink or mount --bind the Windows profile in if you want them joined, but keep the Cygwin files where setup put them.

how do i list installed cygwin packages

Run cygcheck -c or pacman style queries via the setup GUI. Save the list before a move, reinstall to the new root, then reselect the same set.

Notice an outdated path? Let us know.