nixos/system/core/persistence.nix
2026-01-15 14:19:41 +01:00

96 lines
1.8 KiB
Nix

{
impermanence,
lib,
config,
...
}:
{
imports = [ impermanence.nixosModule ];
environment.persistence."/persist/data" = {
hideMounts = true;
directories = [
"/etc/NetworkManager/system-connections"
"/var/lib/bluetooth"
"/etc/ssl/certs"
];
files = [ ];
users.lilith = {
directories = [
".config/syncthing"
{
directory = ".config/sops";
mode = "0700";
}
{
directory = ".gnupg";
mode = "0700";
}
{
directory = ".ssh";
mode = "0700";
}
{
directory = ".keepass";
mode = "0700";
}
"nixos"
"sync"
"code"
".local/share/direnv"
".local/share/iamb"
".local/share/Monero"
]
++ lib.optionals config.desktop.enable [
".thunderbird"
".mozilla"
".zen"
".config/keepassxc"
".config/vesktop"
".config/Signal"
".local/share/TelegramDesktop"
".local/share/Steam"
]
++ lib.optionals config.gaming.enable [
"games"
".local/share/PrismLauncher"
".local/share/lutris"
".local/share/games"
".config/unity3d/Team Cherry"
".config/EgoSoft"
".local/share/Paradox Interactive"
];
files = [ ];
};
};
environment.persistence."/persist/cache" = {
hideMounts = true;
directories = [
"/root/.cache/nix"
"/var/lib/btrfs"
"/var/lib/nixos"
"/var/lib/systemd/backlight"
"/var/lib/systemd/timers"
"/var/log"
];
files = [ "/etc/machine-id" ];
users.lilith = {
directories = [
".cache/nix"
".cache/keepassxc"
".cargo"
".local/state/wireplumber"
];
files = [ ];
};
};
}