storage-refactor #9
1 changed files with 67 additions and 71 deletions
|
|
@ -399,79 +399,75 @@ in {
|
|||
};
|
||||
};
|
||||
}
|
||||
(lib.mkIf config.host.impermanence.enable {
|
||||
boot.initrd.postResumeCommands = lib.mkAfter (
|
||||
lib.strings.concatLines (builtins.map (user: "zfs rollback -r rpool/local/home/${user.name}@blank")
|
||||
normalUsers)
|
||||
);
|
||||
(lib.mkIf config.storage.impermanence.enable (lib.mkMerge [
|
||||
(lib.mkIf config.storage.zfs.enable {
|
||||
storage.zfs.datasets."persist/system/sops" = {
|
||||
type = "zfs_fs";
|
||||
mount = {
|
||||
enable = true;
|
||||
mountPoint = SOPS_AGE_KEY_DIRECTORY;
|
||||
};
|
||||
atime = "off";
|
||||
relatime = "off";
|
||||
};
|
||||
})
|
||||
]))
|
||||
# (lib.mkIf config.host.impermanence.enable {
|
||||
# boot.initrd.postResumeCommands = lib.mkAfter (
|
||||
# lib.strings.concatLines (builtins.map (user: "zfs rollback -r rpool/local/home/${user.name}@blank")
|
||||
# normalUsers)
|
||||
# );
|
||||
|
||||
systemd = {
|
||||
tmpfiles.rules =
|
||||
builtins.map (
|
||||
user: "d /persist/home/${user.name} 700 ${user.name} ${user.name} -"
|
||||
)
|
||||
normalUsers;
|
||||
};
|
||||
# systemd = {
|
||||
# tmpfiles.rules =
|
||||
# builtins.map (
|
||||
# user: "d /persist/home/${user.name} 700 ${user.name} ${user.name} -"
|
||||
# )
|
||||
# normalUsers;
|
||||
# };
|
||||
|
||||
fileSystems = lib.mkMerge [
|
||||
{
|
||||
${SOPS_AGE_KEY_DIRECTORY}.neededForBoot = true;
|
||||
}
|
||||
(
|
||||
builtins.listToAttrs (
|
||||
builtins.map (user:
|
||||
lib.attrsets.nameValuePair "/persist/home/${user.name}" {
|
||||
neededForBoot = true;
|
||||
})
|
||||
normalUsers
|
||||
)
|
||||
)
|
||||
(
|
||||
builtins.listToAttrs (
|
||||
builtins.map (user:
|
||||
lib.attrsets.nameValuePair "/home/${user.name}" {
|
||||
neededForBoot = true;
|
||||
})
|
||||
normalUsers
|
||||
)
|
||||
)
|
||||
];
|
||||
# fileSystems = lib.mkMerge [
|
||||
# (
|
||||
# builtins.listToAttrs (
|
||||
# builtins.map (user:
|
||||
# lib.attrsets.nameValuePair "/persist/home/${user.name}" {
|
||||
# neededForBoot = true;
|
||||
# })
|
||||
# normalUsers
|
||||
# )
|
||||
# )
|
||||
# (
|
||||
# builtins.listToAttrs (
|
||||
# builtins.map (user:
|
||||
# lib.attrsets.nameValuePair "/home/${user.name}" {
|
||||
# neededForBoot = true;
|
||||
# })
|
||||
# normalUsers
|
||||
# )
|
||||
# )
|
||||
# ];
|
||||
|
||||
host.storage.pool.extraDatasets = lib.mkMerge (
|
||||
[
|
||||
{
|
||||
# sops age key needs to be available to pre persist for user generation
|
||||
"local/system/sops" = {
|
||||
type = "zfs_fs";
|
||||
mountpoint = SOPS_AGE_KEY_DIRECTORY;
|
||||
options = {
|
||||
atime = "off";
|
||||
relatime = "off";
|
||||
canmount = "on";
|
||||
};
|
||||
};
|
||||
}
|
||||
]
|
||||
++ (
|
||||
builtins.map (user: {
|
||||
"local/home/${user.name}" = {
|
||||
type = "zfs_fs";
|
||||
mountpoint = "/home/${user.name}";
|
||||
options = {
|
||||
canmount = "on";
|
||||
};
|
||||
postCreateHook = ''
|
||||
zfs snapshot rpool/local/home/${user.name}@blank
|
||||
'';
|
||||
};
|
||||
"persist/home/${user.name}" = {
|
||||
type = "zfs_fs";
|
||||
mountpoint = "/persist/home/${user.name}";
|
||||
};
|
||||
})
|
||||
normalUsers
|
||||
)
|
||||
);
|
||||
})
|
||||
# host.storage.pool.extraDatasets = lib.mkMerge (
|
||||
# (
|
||||
# builtins.map (user: {
|
||||
# "local/home/${user.name}" = {
|
||||
# type = "zfs_fs";
|
||||
# mountpoint = "/home/${user.name}";
|
||||
# options = {
|
||||
# canmount = "on";
|
||||
# };
|
||||
# postCreateHook = ''
|
||||
# zfs snapshot rpool/local/home/${user.name}@blank
|
||||
# '';
|
||||
# };
|
||||
# "persist/home/${user.name}" = {
|
||||
# type = "zfs_fs";
|
||||
# mountpoint = "/persist/home/${user.name}";
|
||||
# };
|
||||
# })
|
||||
# normalUsers
|
||||
# )
|
||||
# );
|
||||
# })
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue