Microsoft Windows for the avoidant



Getting windows in a fit state for civilized usage

Minimising advertising

Modern windows is some kind of spam factory designed to distract you from what you came here for. This can be ameliorated but not fixed. See How to Disable All of Windows 10’s Built-in Advertising. I would happily pay $50 extra licensing fees for all advertising to be excluded from Windows, but that’s not an option they offer plebs.

Package management

Missing homebrew, the excellent Mac package manage? (I presume no one misses yum or dpkg, the adequate-but-stodgy Linux package managers.) A windows equivalent seems to be Chocolatey. I’ve found no use for it yet, since everything I’ve needed so far seems to be in the Linux ecosystem. But your mileage will surely vary.

Conveniences

Debbie Ding solved a bunch of problems for me at once, recommending everything for search (free, looks fancy but closed-source), wox as a spotlight replacement (open source) and seer ($12.18) as a quicklook near-replacement.

The “power user” toolkit microsoft/PowerToys includes several tweaks to civilise the computing experience.

clipboard management

See clipboard managers for the general case. Since 10.2018, windows has good clipboard management though and I woudl not bother installing anything extra.

Fresh.app equivalents

I want to have all my recently opened files and folders accessible with a keyboard shortcut. Who would not want that? People who do menially repetitive and narrow tasks, I suppose.

Application switching

Switcher?

Terminals

Cmder seems fine.

Securing things

Decent outgoing firewall? Complicated, but Windows Firewall Control comes recommended.

Disk encryption? Bitlocker is only for windows professional? Probably better than nothing.

SSH

Install OpenSSH. It is easy via windows settings, or slightly more complicated via PowerShell, if I want the SSH server as well at least.

Services

NSSM - the Non-Sucking Service Manager

nssm is a service helper which doesn’t suck. srvany and other service helper programs suck because they don’t handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it’s running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.

Mouse/trackpad

Scroll wheel natural scrolling is available only via some tedious horror of manual tweaking in Registry Editor, or via powershell script:

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopHScroll -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopHScroll 1 }

Run that every time you plug a new mouse in, then unplug the mouse and plug it back in again.

Or use the FlipFlopWheel script.

AV

codecs

K-Lite Codec Pack Mega is necessary to get Windows talking to macOS and Linux regarding media formats (thanks for the tip, Ableton.) There is some complicated configuration and possible clashes between solutions; be careful.

Where are my VSTs?

Here:

64-Bit VST2: C:/Program Files/Steinberg/VSTplugins
64-Bit VST3: C:/Program Files/Common Files/VST3

To save veeeery long load times for plugins every time you change your sample rate, I can try excluding plugins from Windows Defender. This is probably a security risk.

Filesystem cantrips

Case-sensitive windows files system

NTFS is optionally case-sensitive. This is how you enable that via powershell.

<#
.RESOURCES
    Windows Central — How to enable NTFS support to treat folders as case sensitive on Windows 10
    https://www.windowscentral.com/how-enable-ntfs-treat-folders-case-sensitive-windows-10
#>
# Root of the folder you want to enable/ disable case sensitivity for
[string] $PathRoot = 'folder here'
# Enable ($true) or Disable ($false) CaseSensitivity
[bool] $EnableCaseSensitivity = $true
# Loop all folders, apply SetCaseSensitivityInfo
@(Get-ChildItem -Path $PathRoot -Recurse -Directory | Select-Object -ExpandProperty 'FullName') | ForEach-Object {
    cmd /c ('fsutil.exe file SetCaseSensitiveInfo "{0}" {1}' -f ($_,$(if($EnableCaseSensitivity){'enable'}else{'disable'})))
}

Burning USB boot drives

See flashing USB drives.

Reading Linux FS

Ext4 etc can be handled by Paragon extfs for windows (USD20).

Dual boot

When making space on a computer for Linux by shrinking the Windows partition, hiccups can arise. Mihai Neacsu, How to shrink a disk volume beyond the point where any unmovable files are located. Alex Che gives some useful tips about failure modes of the above method.

Windows Subsystem for Linux

A Linux that runs inside windows, kinda. Well supported; for information, see WSL.

Alternatively there are some classic alternatives…

Cygwin derivatives

Cygwin, is that still a thing? Gus pointed out in the comments, yes it is. This and the recent MSYS2 get you lots of linux and linux adjacent technology inside windows.

Partition management

Keywords: diskpart, bcdedit, bcdboot.

Disk encryption

TBD

Headless usage

apt install powershell
apt install krb5-multidev
ldconfig
apt-get install krb5-user

# Ensure `/etc/krb5.conf` default_realm is set to YOUR.REALM. You should get the correct result when you run the following command
pwsh
Enter-PSSession -Credential YOUR.REALM\<ident> -Authentication Kerberos <windows_machine_address>

Replacing Window with clones of windows

  • reactos duplicates windows but is open source
  • wine runs windows programs on Linux/macOS
  • Crossover is a friendlier commercial version of wine.

2 comments

Cygwin became https://www.msys2.org/ which is actually pretty good - but I think you're right that WSL makes much of the need for it redundant.

Thanks for this list, I will remember it if I ever need to cross over to the Redmond side!

Reply to Gus

GitHub-flavored Markdown & a sane subset of HTML is supported.