Commit 793b0ce

HPCesia <me@hpcesia.com>
2026-08-03 17:35:37
core: add systemd persistence
1 parent 9031382
Changed files (1)
modules
modules/core/systemd.nix
@@ -0,0 +1,49 @@
+{den, ...}: {
+  den.aspects.core.includes = [den.aspects.core.systemd];
+  den.aspects.core.systemd = {
+    persist = {
+      files = [
+        {
+          file = "/etc/machine-id";
+          inInitrd = true;
+        }
+      ];
+    };
+    cache = {
+      directories = [
+        "/var/lib/systemd/coredump"
+        "/var/lib/systemd/timers"
+        "/var/lib/systemd/catalog"
+        {
+          directory = "/var/lib/systemd/network";
+          mode = "0755";
+          user = "systemd-network";
+          group = "systemd-network";
+        }
+        "/var/log"
+      ];
+      files = [
+        "/var/lib/lastlog/lastlog2.db"
+      ];
+    };
+
+    nixos = {
+      host,
+      lib,
+      ...
+    }: {
+      systemd.tmpfiles.rules = [
+        "d /var/lib/systemd/coredump 0755 root root 7d"
+      ];
+
+      services.journald.extraConfig = ''
+        MaxRetentionSec=3month
+        SystemMaxUse=2G
+      '';
+
+      systemd.suppressedSystemUnits =
+        lib.optional (host.hasAspect den.aspects.disk.preservation)
+        "systemd-machine-id-commit.service";
+    };
+  };
+}