3 ms·
Bedrock does support exactly this workflow. I do something along these lines, with the nuanced difference that I have a period of overlap where I'm using both
by ParadigmComplex 6y ago
Bedrock does support exactly this workflow. I do something along these lines, with the nuanced difference that I have a period of overlap where I'm using both the old and new strata around at once.
When a new major release of a non-rolling distro (e.g. Debian) is out, I make a new stratum for the corresponding release. I slowly migrate things over, a few packages at a time. If anything doesn't just-work with the new release, I can easily revert to getting the given functionality from the old one until I've made the necessary adjustments. Once I have everything working confidently with the new release, I can remove the old one.
Bedrock offers a configuration file that declares which packages should come from which stratum [0]. A section of it might look something like this:
# e-mail
arch:pacman isync # mbsync
buster:apt msmtp
buster:apt mutt
buster:apt urlview
When Debian 11 Bullseye is released, I can `s/buster/bullseye/`:
# e-mail
arch:pacman isync # mbsync
bullseye:apt msmtp
bullseye:apt mutt
bullseye:apt urlview
then try out my e-mail setup. If it works, I'm good; if not, I can revert. Once I have it working, I can move on to the next stanza in the described configuration file.
That having been said, I don't think this compares favorably to NixOS's much stronger rollback system here. It's a nice bonus for people who otherwise are interested in Bedrock.
[0] https://bedrocklinux.org/0.7/commands.html#pmm-world-file https://bedrocklinux.org/0.7/commands.html#pmm-world-file