Hey folks! After using Fedora Atomic for quite a while and really appreciating its approach, I've been eyeing one particular feature from NixOS: its congruent system management. Inspired from Graham Christensen's "Erase your darlings" post, I'd like to explore implementing something similar to NixOS' impermanence module on Fedora Atomic as one step towards better state management.
Why not just switch to NixOS? Well, while NixOS's package management and declarative approach are incredible, I specifically value Fedora's stringent package vetting and security practices. The nixpkgs repository, despite its impressive scope, operates more like a user repository in terms of security standards.
I've already made some progress with the following:
- Fedora Atomic's shift to bootable OCI containers has helped with base system reproducibility when one creates their own images. This process has thankfully been streamlined by templates offered by either uBlue or BlueBuild
- Using chezmoi for dotfiles (would've loved home-manager if it played nicer with SELinux)
My current (most likely naive and perhaps even wrong) approach involves tmpfs mounts and bind mounts to /persist, along with systemd-tmpfiles. I'm well aware this won't give me the declarative goodness of NixOS, nor will it make the system truly stateless - there's surely plenty of state I'm missing - but I'm hoping it might be another step in the right direction.
Particularly interested in:
- Best practices for managing persistent vs temporary state
- Working with
rpm-ostree
's (or bootc
') assumptions
- Tools or scripts that might help
- Alternative approaches that achieve similar goals
Thanks in advance!
I have daily driven (a) Fedora(-based distro) ever since I started using Linux. So I'm absolutely biased towards it. However, as Fedora is a semi-rolling release distro that really likes offline updates that involves a reboot, it simply falls flat when it comes to satisfying OP's needs. They would have a very similar experience to their current one with openSUSE Tumbleweed, the very same they actively want to get rid of.