{ lib, ... }:
{
  systemd.sleep.extraConfig = ''
    AllowSuspend=no
    AllowHibernation=no
  '';

  systemd.services.nix-daemon.serviceConfig = {
    CPUSchedulingPolicy = lib.mkForce "batch";
    IOSchedulingClass = lib.mkForce "best-effort";
    # 0: high priority, 7: low priority
    IOSchedulingPriority = lib.mkForce 4;
  };

  systemd.services.nix-gc.serviceConfig = {
    CPUSchedulingPolicy = "batch";
    IOSchedulingClass = "best-effort";
    IOSchedulingPriority = 7;
    Nice = 5;
  };

}