https://github.com/raphire/win11debloat
Persists after updates, and is a straightforward easily auditable PowerShell script enabling/disabling Windows/app features via approved OS provided API interfaces without any hacky brittle workarounds that eventually stop working.
It's the first thing I install on any fresh Windows 11 install for the past 4+ years. I get more ads on MacOS thanks to their lovely Apple TV, iCloud, etc push notifications than I ever see on Windows 11 (≈ 0) after running it.
I've updated hundreds of times across multiple machines and it's never stopped working. I'm only reminded it exists by its absence whenever I use an out of the box Win 11 install on a new PC which is painful in comparison.
I actually prefer debloated Win 11 to plain Win 10 because I get all the benefits like vastly superior multi monitor support on 11 with basically zero negatives.
two years ago there is no way i could have moved fully over, but new LTS releases are an entirely different ballgame than they were 2 years ago, it’s wild.
if anyone’s curious and considering it, for my work system im running ubuntu LTS (yeah yeah, i know. but for work i need the stability that comes from long term support releases.) and likewise for LTS, my gf runs mint on her work system. for our personals we both run cachy.