{lib, ...}: { systemd = { # OOMd: Out Of Memory daemon # By default, this will only kill cgroups. So either systemd services # marked for killing uder OOM or (non-default, but enabled here) the entire user slice. oomd = { enable = true; enableSystemSlice = true; enableRootSlice = true; enableUserSlices = true; extraConfig = { "DefaultMemoryPressureDurationSec" = "20s"; }; }; # Make nix builds more likely to get killed than other important services. # The default for user slices is 100, and systemd-coredumpd is 500 services.nix-daemon.serviceConfig.OOMScoreAdjust = lib.mkDefault 350; }; }