Windows – How to change the MinGW/MSYS + mintty home directory

mingwminttymsyswindows

I use mintty as my console emulator for MinGW/MSYS. Recently (I'm not certain exactly when), the home directory used by this combination changed from my Windows user folder (/c/Users/<me>/) to /home/<me>/, which is causing minor havoc for me.

How can I change my home directory back? I've done some searching online, but all of the information I've been able to find so far is Cygwin-specific and hasn't translated well to MinGW/MSYS.

The most likely-looking avenues I've pursued so far are /etc/passwd and /etc/nsswitch.conf, both of which are entirely absent from MSYS' root. I've tried creating an /etc/nsswitch.conf containing a db_home: windows line, but this seemed to have no effect. I've not yet tried creating an /etc/passwd file as mkpasswd isn't present in MinGW/MSYS and I don't know what its contents should be.

I'm running:

  • Windows 10 (w/ Anniversary Update)
  • the latest version of all my installed MinGW and MSYS packages
  • …including msys-mintty 1.0.3-1-msys-1.0.17

Best Answer

Unlike Cygwin, MSYS relies on the HOME environment variable. To set or change your HOME variable:

  1. Press Win-r on your keyboard or select "Run…" from the Start menu.
  2. Type "sysdm.cpl" and click OK.
  3. Select the Advanced tab and click Environment Variables…
  4. Click New… to create a new HOME variable or select the existing one and click Edit…
  5. When finished, keep clicking OK until all windows are closed.