Hmm…, I didn’t get that from your first response. But thank you for clarifying!
Once you start getting into the territory of layering new tools/drivers/whatever on top, you’re reintroducing the statefulness that the atomicity was supposed to eliminate.
I agree with your sentiment overall, but with a lot of nuance. I’d rather formulate it purposely ambiguous as follows: Once you start getting into the territory of modifying stuff, you might reintroduce some of the statefulness that the paradigm was supposed to eliminate.
I am aware that this ambiguity invites clarity and elaboration. And therefore I’d like to offer my genuine apologies for not responding to said invitation. However, I hope that this excellently written blogpost suffices in conveying how systems can be both stateless and ever-mutable.
spoiler
The answer is indeed by going declarative.


I think I understand why you might have that feeling, but I think it’s more complex than that.
Say, we look at Fedora Atomic, as that’s the atomic distro I’m most familiar with. At inception, it offered the following (‘staggered’) three-way:
rpm-ostree, if the above didn’t work. Basically your fail-safe.So AFAIU, as long as you didn’t
rpm-ostreeyour whole system, it was a ‘win’ for the atomic model.You might argue that their priority should have been the development of an all-encompassing package manager that works (almost) as sleek any other one. And only after that’s been (somewhat) completed, should they have shipped a system built around it. However, the trouble it has been taking Ubuntu to launch its Core Desktop since its announcement, definitely suggests that building an OS around a more complete (and complex) package manager poses its own set of challenges[1]. Contrast that to Fedora and openSUSE, both of which were able to launch their respective atomic distros for Desktop Linux in a more timely fashion.
I think you’re making a category error. If Snap chooses to replace your complete OS, then it makes sense to get rid of any limitations. Because that’s in scope of its intended design. Flatpak, from my understanding, simply tries to become for Desktop Linux what the App Store and Google Play are for iOS and Android respectively. Hence, it doesn’t make much sense to blame it for what is out of its scope. Similarly to how it wouldn’t make any sense to scold VLC because it doesn’t play your Windows games. Here, I explicitly named Flatpak, but note that this principle applies to basically any other alternative package manager we (tend to) find on atomic distros.
Consequently, therefore, perhaps the distros are to be blamed for shipping lackluster package managers instead of introducing one-to-one replacements of the traditional ones. But I think this is just a very complex problem 😅. And I suppose you knew that already…
See NixOS 😜. ↩︎