Skip to content

System76 scheduler

services.system76-scheduler.assignments

Process profile assignments. Type: attribute set of (submodule)

Default

{ }

Example

{nix-builds = {nice = 15;class = "batch";ioClass = "idle";matchers = ["nix-daemon"];};}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.assignments.<name>.class

CPU scheduler class. Type: null or one of "idle", "batch", "other", "rr", "fifo"

Default

null

Example

"batch"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.assignments.<name>.ioClass

IO scheduler class. Type: null or one of "idle", "best-effort", "realtime"

Default

null

Example

"best-effort"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.assignments.<name>.ioPrio

IO scheduler priority. Type: null or integer between 0 and 7 (both inclusive)

Default

null

Example

4

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.assignments.<name>.matchers

Process matchers. Type: null or (list of string)

Default

[ ]

Example

["include cgroup=\"/user.slice/*.service\" parent=\"systemd\"""emacs"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.assignments.<name>.nice

Niceness. Type: null or integer between -20 and 19 (both inclusive)

Default

null

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.assignments.<name>.prio

CPU scheduler priority. Type: null or integer between 1 and 99 (both inclusive)

Default

null

Example

49

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.enable

Whether to enable system76-scheduler. Type: boolean

Default

false

Example

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.exceptions

Processes that are left alone. Type: list of string

Default

[ ]

Example

["include descends=\"schedtool\"""schedtool"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.package

Which System76-Scheduler package to use. Type: package

Default

config.boot.kernelPackages.system76-scheduler

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.default.bandwidth-size

sched_cfs_bandwidth_slice_us. Type: signed integer

Default

5

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.default.latency

sched_latency_ns. Type: signed integer

Default

6

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.default.nr-latency

sched_nr_latency. Type: signed integer

Default

8

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.default.preempt

Preemption mode. Type: one of "none", "voluntary", "full"

Default

"voluntary"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.default.wakeup-granularity

sched_wakeup_granularity_ns. Type: floating point number

Default

1.0

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.enable

Tweak CFS latency parameters when going on/off battery Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.responsive.bandwidth-size

sched_cfs_bandwidth_slice_us. Type: signed integer

Default

3

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.responsive.latency

sched_latency_ns. Type: signed integer

Default

4

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.responsive.nr-latency

sched_nr_latency. Type: signed integer

Default

10

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.responsive.preempt

Preemption mode. Type: one of "none", "voluntary", "full"

Default

"full"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.cfsProfiles.responsive.wakeup-granularity

sched_wakeup_granularity_ns. Type: floating point number

Default

0.5

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.enable

Tweak scheduling of individual processes in real time. Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.background.class

CPU scheduler class. Type: null or one of "idle", "batch", "other", "rr", "fifo"

Default

null

Example

"batch"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.background.ioClass

IO scheduler class. Type: null or one of "idle", "best-effort", "realtime"

Default

"idle"

Example

"best-effort"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.background.ioPrio

IO scheduler priority. Type: null or integer between 0 and 7 (both inclusive)

Default

null

Example

4

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.background.matchers

Process matchers. Type: null or (list of string)

Default

[ ]

Example

["include cgroup=\"/user.slice/*.service\" parent=\"systemd\"""emacs"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.background.nice

Niceness. Type: null or integer between -20 and 19 (both inclusive)

Default

6

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.background.prio

CPU scheduler priority. Type: null or integer between 1 and 99 (both inclusive)

Default

null

Example

49

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.enable

Boost foreground process priorities.

(And de-boost background ones). Note that this option needs cooperation from the desktop environment to work. On Gnome the client side is implemented by the "System76 Scheduler" shell extension.

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.foreground.class

CPU scheduler class. Type: null or one of "idle", "batch", "other", "rr", "fifo"

Default

null

Example

"batch"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.foreground.ioClass

IO scheduler class. Type: null or one of "idle", "best-effort", "realtime"

Default

"best-effort"

Example

"best-effort"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.foreground.ioPrio

IO scheduler priority. Type: null or integer between 0 and 7 (both inclusive)

Default

0

Example

4

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.foreground.matchers

Process matchers. Type: null or (list of string)

Default

[ ]

Example

["include cgroup=\"/user.slice/*.service\" parent=\"systemd\"""emacs"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.foreground.nice

Niceness. Type: null or integer between -20 and 19 (both inclusive)

Default

0

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.foregroundBoost.foreground.prio

CPU scheduler priority. Type: null or integer between 1 and 99 (both inclusive)

Default

null

Example

49

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.enable

Boost Pipewire client priorities. Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.profile.class

CPU scheduler class. Type: null or one of "idle", "batch", "other", "rr", "fifo"

Default

null

Example

"batch"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.profile.ioClass

IO scheduler class. Type: null or one of "idle", "best-effort", "realtime"

Default

"best-effort"

Example

"best-effort"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.profile.ioPrio

IO scheduler priority. Type: null or integer between 0 and 7 (both inclusive)

Default

0

Example

4

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.profile.matchers

Process matchers. Type: null or (list of string)

Default

[ ]

Example

["include cgroup=\"/user.slice/*.service\" parent=\"systemd\"""emacs"]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.profile.nice

Niceness. Type: null or integer between -20 and 19 (both inclusive)

Default

-6

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.pipewireBoost.profile.prio

CPU scheduler priority. Type: null or integer between 1 and 99 (both inclusive)

Default

null

Example

49

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.refreshInterval

Process list poll interval, in seconds Type: signed integer

Default

60

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.settings.processScheduler.useExecsnoop

Use execsnoop (otherwise poll the precess list periodically). Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix

services.system76-scheduler.useStockConfig

Use the (reasonable and featureful) stock configuration.

When this option is true, services.system76-scheduler.settings are ignored.

Type: boolean

Default

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/desktops/system76-scheduler.nix