From 27821c270fd03d98e3a3662cbd2427cea606e03a Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Tue, 2 Jun 2026 19:34:04 +0100 Subject: [PATCH] fix(impermanence): mark /persist and /home neededForBoot The impermanence module asserts that the persistent-storage volume and every volume it bind-mounts into are available in early boot. Persisted user dirs land under /home, so both /persist and the @home subvolume must have neededForBoot = true. disko and nixos-generate-config leave it at the default (false), so a fresh install with impermanence enabled aborted with: All filesystems used for persistent storage must have the option "neededForBoot" set to true. Please fix the following filesystems: /persist /home Declare neededForBoot in the module that imposes the requirement. Co-Authored-By: Claude Opus 4.8 --- core/system/impermanence.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/system/impermanence.nix b/core/system/impermanence.nix index 8d83f26..d3990e4 100644 --- a/core/system/impermanence.nix +++ b/core/system/impermanence.nix @@ -87,6 +87,17 @@ in ''; }; + # The impermanence module asserts that every filesystem it touches is + # available in early boot: the persistent-storage volume (/persist) and + # any volume it bind-mounts *into* — the user-persistence dirs land under + # /home, so the @home subvolume counts too. disko and + # nixos-generate-config leave neededForBoot at its default (false) on + # these subvolumes, which trips the assertion ("Please fix the following + # filesystems: /persist /home"). Declare it here, where the requirement + # originates. + fileSystems."/persist".neededForBoot = true; + fileSystems."/home".neededForBoot = true; + # 2. Persistence Configuration: What survives the wipe environment.persistence."/persist" = { hideMounts = true;