Added impermenence module and set Incarceron to be imperm so we can test

this
This commit is contained in:
TheWanderingCrow 2025-10-22 15:00:19 -04:00
parent 0f565bed7d
commit 0fbc69679e
5 changed files with 69 additions and 0 deletions

View file

@ -18,6 +18,7 @@ in {
imports = lib.flatten [
inputs.home-manager.${platformModules}.home-manager
inputs.sops-nix.${platformModules}.sops
inputs.impermanence.${platformModules}.impermanence
(map lib.custom.relativeToRoot [
"hosts/common/core/${platform}.nix"

View file

@ -0,0 +1,50 @@
{
lib,
config,
...
}:
lib.mkIf config.hostSpec.isImpermanent {
environment.persistence.${config.hostSpec.persistFolder} = {
enable = true;
directories = [
"/var/log"
"/var/lib/bluetooth"
"/var/lib/nixos"
"/var/lib/systemd/coredump"
"/etc/NetworkManager/system-connections"
];
files = [
"/etc/machine-id"
];
users.${config.hostSpec.username} = {
directories = [
"Downloads"
"Music"
"Pictures"
"Documents"
"Videos"
"VirtualBox VMs"
{
directory = ".gnupg";
mode = "0700";
}
{
directory = ".ssh";
mode = "0700";
}
{
directory = ".nixops";
mode = "0700";
}
{
directory = ".local/share/keyrings";
mode = "0700";
}
".local/share/direnv"
];
files = [
".screenrc"
];
};
};
}