36 lines
759 B
Nix
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);
|
|
}
|