Personally I haven’t. While Linux is imperfect, choosing the right distro makes the rest of the experience straightforward. And with it’s whole complexity, I find Linux more user friendly than Windows. Even driver issues, broken shadow file ownership and KDE specifics only made me more confident about my choice to use Linux after I solved everything.


Since “do one thing principle” is pretty abstract, I’ll give you one example of a downstream consequence.
I wanted to set up a NixOS microVM using docker sbx. Turns out, it was basically impossible (nothing is actually impossible, it just depends how much you want to modify/rebuild things).
Much of NixOS depends on systemd to manage lifecycles of this or that, but systemd only works properly if it’s the first PID, and when it runs in that mode it also wants to initialize hardware.
But the hardware is all managed by the microVM, so systemd blows up. All it needs to do is nothing, but that turns out to be very difficult to achieve.
If these were like 3 or 4 distinct utilities, there would be obvious seams where I could separate them and only activate the stuff that’s relevant to my use case. But it’s all one big ball of mud.