summary refs log tree commit diff
path: root/machines/wolfram/default.nix
Path not found
id='n11' href='#n11'>11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
# module for controlling out-of-memory states for desktop linux machines,
# to avoid hanging the full system including the shell, in favor of
# sending out oom signals before it comes to that with the earlyoom service.
{ ... }:

{
  services = {
    # TODO: i believe systemd-oomd could also be used to prevent system hanging,
    # and i should investigate it, to avoid running 2 userspace oom killers.
    # earlyoom is known for the small amount of configuration needed to prevent the
    # system from hanging for half an hour, and we can keep it simple for now.
    earlyoom = {
      enable = true;

      freeMemThreshold = 10;
      freeMemKillThreshold = 5;

      # requires systembus-notify.
      # i wish libnotify would support sending out
      # notifications to all users through the system
      # session bus natively...
      # see: https://gitlab.gnome.org/GNOME/libnotify/-/issues/9
      enableNotifications = true;
    };

    systembus-notify.enable = true;
  };
}