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.settings.Journal = {
40 MaxRetentionSec = "1month";
41 SystemMaxUse = "2G";
42 SystemKeepFree = "10%";
43 SystemMaxFileSize = "100M";
44 Compress = "yes";
45 };
46
47 systemd.suppressedSystemUnits =
48 lib.optional (host.hasAspect den.aspects.disk.preservation)
49 "systemd-machine-id-commit.service";
50 };
51 };
52}