Using Windows as a Unix developer

For a short while I switched to Windows on my laptop, which was mostly occasioned by my Developing on a dedicated server (NixOS) lately. The idea was to experience the best of both worlds — a performant, flexible and open development environment to which I remote from a laptop that has great user experience as well as battery life.

Windows Subsystem for Linux

  • Install WSL 2: Enables us to run Ubuntu, etc in a seamless manner.
  • Install Windows Terminal Preview: This will be our terminal app. Yes, Windows has an almost as good a terminal as Unix these days.

Nix

Follow instructions at https://github.com/srid/nix-config to get most software installed through Nix and home-manager.

Haskell development

This works rather smoothly, including native VSCode support: https://twitter.com/sridca/status/1290785695913713664

For power users

Powershell for Unix users

  • Start an administrator shell (equivalent to sudo):
    Start-Process -Verb RunAs powershell
  • Manage services
    • Enable ssh-agent:
      Set-Service ssh-agent -StartupType Automatic
      Start-Service ssh-agent
  • Pretty prompts via Powerline: Tutorial: Set up Powerline in Windows Terminal (This works on Ubuntu as well, as long as Windows Terminal Preview is used)

Known issues

Misc

  • Outlook supports RSS feeds. While it is widely known as to how Google gave up on RSS, hardly anybody knows that Microsoft still supports them in their desktop software.