main
 1{den, ...}: {
 2  den.aspects.core.includes = [den.aspects.core.systemd];
 3  den.aspects.core.systemd = {
 4    persist = {
 5      files = [
 6        {
 7          file = "/etc/machine-id";
 8          inInitrd = true;
 9        }
10      ];
11    };
12    cache = {
13      directories = [
14        "/var/lib/systemd/coredump"
15        "/var/lib/systemd/timers"
16        "/var/lib/systemd/catalog"
17        {
18          directory = "/var/lib/systemd/network";
19          mode = "0755";
20          user = "systemd-network";
21          group = "systemd-network";
22        }
23        "/var/log"
24      ];
25      files = [
26        "/var/lib/lastlog/lastlog2.db"
27      ];
28    };
29
30    nixos = {
31      host,
32      lib,
33      ...
34    }: {
35      systemd.tmpfiles.rules = [
36        "d /var/lib/systemd/coredump 0755 root root 7d"
37      ];
38
39      services.journald.extraConfig = ''
40        MaxRetentionSec=3month
41        SystemMaxUse=2G
42      '';
43
44      systemd.suppressedSystemUnits =
45        lib.optional (host.hasAspect den.aspects.disk.preservation)
46        "systemd-machine-id-commit.service";
47    };
48  };
49}