Much as I love the developer experience on Linux, I use Windows primarily because of work. Unfortunately, some parts of my work are Windows-only.

I used to develop on Windows Subsystem for Linux (WSL) for a while, which was great on certain aspects, but there were always pain points, e.g.

  • file copy ZoneIdentifier junk
  • instability when using GUI apps via wslg (disconnecting monitors, changing Wi-Fi networks, difficulty configuring custom keyboard layouts, windows not working with PowerToys FancyZones, etc)
  • file I/O speed differences between the WSL filesystem and the host
  • when things broke, always having to wonder โ€œis it because Iโ€™m the only one running it on Linux?โ€œ
  • my helpful shell scripts couldnโ€™t be shared with coworkers
  • probably more that I canโ€™t remember off the top of my head

So now Iโ€™ve put a lot of effort into building a good Windows environment that has a unix-y feel to it. Iโ€™m pretty happy for now. See Useful Windows Software and Neovim for starters.