Repository navigation
Conversation
A switch from a system booted with impermanence stops its persist-* services, whose ExecStop removes each persisted file's link, and unmounts its directory bind mounts. Entries with inInitrd are only set up at boot, so they stay missing until the next one. Assisted-by: Claude Code (Claude Opus 5.5)
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The migration guide doesn't say how to apply the configuration that replaces impermanence. A
nixos-rebuild switchfrom a system that was booted with impermanence stops everything impermanence set up there, because the new configuration no longer declares it:persist-*.serviceunit whoseExecStopremoves the symlink, or unmounts and removes the bind-mounted file, at the file's path (impermanencenixos.nix). switch-to-configuration stops an active unit whose unit file is gone (main.rs)./etc/fstabentries before nix-community/impermanence@2b99fef, mount units since. switch-to-configuration unmounts an fstab entry that disappeared (main.rs) and stops a removed mount unit as above.Preservation sets up
inInitrdentries only in the initrd (module.nix), so/etc/machine-idor/var/logstay missing from the running system until the next boot. #7 looks like the same thing: the first switch after a migration stopped the mounts, and switching was fine once the system had booted with Preservation.This adds a short "Applying the migration" section that recommends
nixos-rebuild bootand a reboot. I migrated my own system that way, and afterwards all 105 persisted paths were in place, the same as before.nix build ./docs#packages.x86_64-linux.docsbuilds, and the new section renders as a heading, three paragraphs and a two-item list. I haven't reproduced a failing switch; the above comes from reading the code.Disclosure: researched and drafted with help from Claude Code (Claude Opus 5.5).