diff --git a/modules/services/misc/nix-daemon.nix b/modules/services/misc/nix-daemon.nix index d1eee1576b6c..69a7149c2bed 100644 --- a/modules/services/misc/nix-daemon.nix +++ b/modules/services/misc/nix-daemon.nix @@ -67,13 +67,21 @@ in }; daemonNiceLevel = mkOption { - default = 2; + default = 10; description = " Nix daemon process priority. This priority propagates to build processes. 0 is the default Unix process priority, 20 is the lowest. "; }; + daemonIONiceLevel = mkOption { + default = 7; + description = " + Nix daemon process I/O priority. This priority propagates to build processes. + 0 is the default Unix process I/O priority, 7 is the lowest. + "; + }; + buildMachines = mkOption { example = [ { hostName = "voila.labs.cs.uu.nl"; @@ -197,7 +205,10 @@ in '' export PATH=${if config.nix.distributedBuilds then "${pkgs.openssh}/bin:${pkgs.gzip}/bin:" else ""}${pkgs.openssl}/bin:${nix}/bin:$PATH ${config.nix.envVars} - exec nice -n ${builtins.toString config.nix.daemonNiceLevel} ${nix}/bin/nix-worker --daemon > /dev/null 2>&1 + exec \ + nice -n ${builtins.toString config.nix.daemonNiceLevel} \ + ${pkgs.utillinux}/bin/ionice -n ${builtins.toString config.nix.daemonIONiceLevel} \ + ${nix}/bin/nix-worker --daemon > /dev/null 2>&1 ''; extraConfig =