From 8a820cacee1ff07ae7397d053b26e66f7086a4a4 Mon Sep 17 00:00:00 2001 From: adikro Date: Mon, 29 Jun 2026 00:31:26 +0200 Subject: updated some stuff, added persistance --- os/core/persistance.nix | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 os/core/persistance.nix (limited to 'os/core/persistance.nix') 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"; + } + ]; + }; + }) + ]; +} -- cgit v1.3