The only thing Windows installs without you wanting to is Edge. Ads like Candy Crush will only be installed after installing windows for the first time, not after any updates.
Treeniks
You definitely can with Group Policies.
I love wezterm, primarily because it is cross platform. The most important factor to me is being able to use the same one on Windows, Mac and Linux, because I use all three on a regular basis and don't want to maintain multiple configs. However, wezterm currently has a bug that prevents it from opening on Wayland+Nvidia which forces me to use something else on Linux. None of the other ones get close imo.
Last time I tried NixOS, I tried to get some newer and lesser known wayland window managers to work. After like an hour of trying to get a custom session option into gdm, I had to give up. The nix package manager is fantastic, truly, but NixOS imho alters the way the system works way too much. Either it supports whatever you're trying to do out of the box, then it's very nice, or you'll be in hell trying to map whatever explanations you find online to the clusterfuck that is NixOS's altered file structure. You don't simply add a .desktop
file to the xsessions folder.
Whatever solutions to problems like these you build in NixOS are always meant to be beautiful and reproducible, but building such solutions is a lot of work. For a window manager that I only wanted to try for a couple days, way too much work. For a system that I don't intend to install on any other machine, probably not worth it.
I.e. NixOS trades initial time invested with beauty and future time invested. A solution in NixOS is more beautiful, and much quicker to reproduce on another machine, but it takes way more time to set up the first time around (e.g. just doing it as opposed to writing a script that does it). As someone that does a lot of experimenting with new setups, NixOS was frustrating as hell. But for someone that needs to frequently install the same system on multiple machines, it's a game changer no doubt.
I use bash and fish natively on Windows and it obviously works in those. You can also use nushell natively and that has piping as well.
I'm explicitly saying natively because most people assume that I'm talking about WSL when I say I use bash on Windows. I am not, msys2 allows you to use these things natively without a VM.