Pretty much the title. Maybe to add a bit of a backstory: Bazzite was awesome at first, all games ran on the first try!!
But then: I still haven’t installed my vpn, let me quickly do that. Oh wait, there’s no flatpak for my vpn, that’s right.
Aight, lemme first install tlp and get these laptop fans under control. But wait, how? There’s no flatpak. If I install it in distrobox, it has no effect, which kinda makes sense.
Whatever, lemme try auto-cpufreq. No flatpak, so distrobox it is. To no surprise, it fails. “System has not been booted with systems as init system.”
Same with Goverlay. So then I just fell back into my chair and screamed: “How the hell do I install stuff on Bazzite to control my laptop?!”
So just to clarify, it’s recommended to limit they layers, but it’s not a hard rule or anything. The reason it’s recommended for a couple reasons.
One reason is that the layers are basically your “core” install, your “actual” os. One of the big benefits of atomic distros is the inherent stability, and by adding layers you are adding more risk and complexity, which doesn’t eliminate the stability but it does decrease the odds of it being as stable and reliable.
Another reason is that the more layers you have, the longer updates are going to take, and the more storage space used. Atomic distros usually keep multiple “versions” around (current and previous), so if you install 10 layers you’re really taking up twice that space. Atomic distros sacrifice disk space and update speed, to increase reliability stability and reproducibility. I think it’s a fair trade off, but a bunch of layers do shift the scales a bit more towards a net zero. Also besides have two versions (usually standard), you can also pin versions that you want to keep around, for example let’s stay you’re on plasma 5 and upgrading to 6, you can pin the version with 5 until you’re confident that 6 is working out for you. In the grand scheme that’s not a lot of storage, especially when cheap, but still worth factoring in.
There’s also concern about file conflicts, inheritance (a layer overwriting a config that’s used by the base or lower layers), etc. I wouldn’t worry about it too much, just in general it’s better to use distrobox or flatpak where possible, and only use rpm-ostree where it’s the only option.