Rpm-ostree layering vs flatpaks
Fedora Atomic Desktop has a curated OS deployment package which is applied as an atomic image. Atomic Desktop has quite a few benefits over non-atomic which I quite like, such as being able to easily roll back to previous OS deployments, pin OS images as backup revisions of the OS, etc. It is much harder to brick the Atomic Desktop, as if you break the system you can simply roll back to the previous deployment. Previous deployments also retain previous copies of the /etc folder, so even config changes get rolled back, which is extremely convenient and makes the OS feel much less brickable.
If you want to install rpm packages then these have to be layered over the top of the image. To do this you use rpm-ostree, which replaces dnf for some commands (but not all of them). System updates then have to re-layer the packages again as part of the update, which is inefficient, and in some cases can result in the update not being appliable. Users of Atomic Desktop are therefore supposed to avoid layering; it breaks a lot of the premise behind the Atomic Desktop. Instead you are supposed to install user-level packages by using Distrobox/Toolbx/Homebrew/containers.
Unfortunately, never layering anything is quite stifling. Sometimes it seems like the best option is to layer a package (generally if the flatpak has issues or if it makes more sense to me for something to be a system package). I know there are disadvantages to layering, but flatpaks also have some issues of their own, which so far have been more annoying than layering issues. I prefer to have a working stable system where the packages/software behave as expected so I will pick whichever gives the best user experience.
Consequently, I decided I am willing to put up with the layering disadvantages (at least for now) and I use rpm-ostree install to layer packages quite liberally, which is reflected in my documentation. This might annoy or upset some people. In that case this documentation probably isn't for you.
In the longer term I may use the image-building tools to build my own image which will bake packages I find important into the OS update image; this should negate most of the disadvantages of layering those packages, since they will no longer be layered. I need to do more investigation here since I'm not used to having to build my own OS deployment images.