Files
nixos-configs/hosts/common/global/optin-persistence.nix
2025-12-31 15:48:38 +01:00

36 lines
759 B
Nix

{
lib,
inputs,
config,
...
}: {
imports = [inputs.impermanence.nixosModules.impermanence];
environment.persistence = {
"/persist" = {
files = [
"/etc/machine-id"
];
directories = [
"/var/lib/fprint"
"/var/lib/systemd"
"/var/lib/nixos"
"/var/log"
"/srv"
];
};
};
programs.fuse.userAllowOther = true;
system.activationScripts.persistent-dirs.text = let
mkHomePersist = user:
lib.optionalString user.createHome ''
mkdir -p /persist/${user.home}
chown ${user.name}:${user.group} /persist/${user.home}
chmod ${user.homeMode} /persist/${user.home}
'';
users = lib.attrValues config.users.users;
in
lib.concatLines (map mkHomePersist users);
}