Windows and Linux co-development

I develop almost exclusively on Windows these days, even though the WSL seems to be good enough to use if I wanted.

The things I do are basically,

  • Run the latest version of Windows not in the Insider track
  • Don’t use cmd use Powershell
  • Run iex with --werl
  • Set a Powershell alias and use the ssh client that comes with Git
    • It’s in git/usr or something
  • Use the posh-git PSModule
  • Use pgadmin or whatever gui that ships with Postgres
    • The CLI throws fits for me, though @OvermindDL1 probably has more experience with it than I do.
  • Don’t use anything Windows or *nix specific.
    • Easy for me, hard when working with others who don’t care as much
  • Set whatever editor you are using to always open up files in “Unix” mode.

There’s not a lot more special to my environment than that and a heavily edited Powershell profile. Maybe a couple other modules or programs that I don’t use that often.

As for things I don’t do but would recommend:

  • Get other Powershell Modules
  • I think there’s even an SSH module
  • Use Chocolatey
  • If you use WSL try to use it in your Windows directories
  • i.e. Don’t go into the WSL directories
  • It could really mess up your WSL installation
  • Don’t. Ever. Use. Putty… Trust me, it’s not worth it

I’ve never had this happen personally, mainly because I think that being in a situation where file permissions are a big deal is a smell itself, but I know there are situations where it is necessary.
I think the solution is something along the lines of running git config --global core.filemode false on just the Windows machine.