Window$ setup 2025-02-04 How to make this piece of shit usable for a UNIX hacker, or even usable at all? The default answer used to be cygwin, but more recently it's been WSL. My setup for "work" on "Window$" would look more or less like this: - WSL2 (for the Linux kernel, otherwise WSL1 runs through a compatibility layer) - Debian - bash - tmux - neovim - alacritty You can set up alacritty to go right into WSL2+Debian+bash on launch by default. Consult alacritty docs for details. WSL exposes Window$ filesystem, so there's really no need to leave the terminal ever again, but if you have to - graphical programs also work under WSL. Just launch alacritty full-screen and enjoy the familiar and comfy Debian. In terms of usability it's a HUGE improvement, but there is one disadvantage: RAM by default is split 50-50 between WSL2 and host, which means Window$ will still eat up half of it, unfortunately. If you somehow can't get admin access on the machine to install whatever you want, there's a different setup you can try. From M$-Store you can install: - Window$ Terminal - Powershell (7) - neovim - python Window$ Terminal is pretty good and Powershell 7 is better than cmd.exe or Window$ Powershell 5. Not ideal, but you can get by if you stick to neovim-based workflow. You can try to build out a different kind of shell with Python-based xonsh, but results may vary. There are some tweaks that can also make the WM experience a little less painful. Settings to change: - Disable personalized ads, disable news. - Change Alt+Tab behaviour. - Change window snapping behaviour. - Move Start Menu to the left. - Disable Search Bar. - Disable Copilot. - Disable notification pop-ups. - Hide tray icons. - Create more virtual desktops. - Disable default lid action. - Disable desktop icons. - Pin terminal to taskbar. - Display taskbar on main display only. Using this OS is truly an exercise in patience. My x220 (over a decade old laptop, CPU only has 2 cores) with Arch Linux felt much snappier than a modern top-end ThinkPad running W11. On paper the host machine was multiple times more powerful, but in practice it felt multiple times less performant, with huge loading times and latency for almost any basic action. Only in WSL2 terminal felt fine, but I'm pretty sure installing any distro straight on the device would feel even better. With a native GNU/Linux install you could also leverage a proper window manager... User experience on Window$ is absolutely horrible, but still there's one thing I actually liked about this system and that is virtualization. WSL2 integration is done fairly well and GUI integration especially is quite impressive. Guest OS runs great, no complaints there. Hyper-V overall is pretty cool, although I find no reason to pick that over Linux KVM. It's nice to see at least some things done well over on Window$. With each release since Window$ 7 (hell, maybe even XP) the experience for a consumer has only been getting worse. Window$ Server holds up better, because it doesn't include as much bloatware by default, but even then - it's not great. If you're stuck with it then I truly pity you, but if you just can't decide what to switch to - I wrote a post about Linux Distros a while back, maybe it will help you decide where to start. Good luck!