diff options
| author | adikro <adikro@disroot.org> | 2026-06-29 00:31:26 +0200 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-06-29 00:31:26 +0200 |
| commit | 8a820cacee1ff07ae7397d053b26e66f7086a4a4 (patch) | |
| tree | 23153683130799babd4e5ed1a39068c52fa7d588 /os/core/persistance.nix | |
| parent | 9b8f9a4bf5e13efe49ec101f127d0df3d7bb3cf3 (diff) | |
Diffstat (limited to 'os/core/persistance.nix')
| -rw-r--r-- | os/core/persistance.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/os/core/persistance.nix b/os/core/persistance.nix new file mode 100644 index 0000000..89f3702 --- /dev/null +++ b/os/core/persistance.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + inputs, + ... +}: +let + cfg = config.os.srv.persistance; +in +{ + imports = [ inputs.impermanence.nixosModules.impermanence ]; + + options.os.srv.persistance.enable = lib.mkEnableOption "enables persistance drive maintnance"; + config = lib.mkMerge [ + (lib.mkIf cfg.enable { + environment.persistence."/persist" = { + hideMounts = true; + directories = [ + "/var/lib/nixos" + "/var/lib/systemd" + "/var/lib/microvm" + ]; + files = [ + "/etc/machine-id" + ]; + }; + }) + (lib.mkIf (cfg.enable && config.os.srv.ssh.server.enable) { + environment.persistence."/persist" = { + files = [ + "/etc/ssh/ssh_host_ed25519_key" + "/etc/ssh/ssh_host_ed25519_key.pub" + ]; + }; + }) + (lib.mkIf (cfg.enable && config.os.srv.crowdsec.agent.enable) { + environment.persistence."/persist" = lib.mkIf cfg.agent.enable { + hideMounts = true; + directories = [ + { + directory = "/var/lib/crowdsec"; + user = "crowdsec"; + group = "crowdsec"; + mode = "0750"; + } + ]; + }; + }) + ]; +} |
