mirror of
https://github.com/CHN-beta/nixos.git
synced 2024-10-24 23:17:58 +08:00
25 lines
642 B
Nix
25 lines
642 B
Nix
|
inputs:
|
||
|
{
|
||
|
options.nixos.system.sysctl = let inherit (inputs.lib) mkOption types; in
|
||
|
{
|
||
|
laptop-mode = mkOption { type = types.nullOr types.int; default = null; };
|
||
|
};
|
||
|
config =
|
||
|
let
|
||
|
inherit (inputs.lib) mkIf mkMerge;
|
||
|
inherit (inputs.config.nixos.system) sysctl;
|
||
|
in mkMerge
|
||
|
[
|
||
|
{
|
||
|
boot.kernel.sysctl =
|
||
|
{
|
||
|
"vm.oom_kill_allocating_task" = true;
|
||
|
"vm.oom_dump_tasks" = false;
|
||
|
"vm.overcommit_memory" = 1;
|
||
|
"kernel.sysrq" = 438;
|
||
|
};
|
||
|
}
|
||
|
(mkIf (sysctl.laptop-mode != null) { boot.kernel.sysctl."vm.laptop_mode" = sysctl.laptop-mode; })
|
||
|
];
|
||
|
}
|