enable laptop-mode

This commit is contained in:
陈浩南 2023-12-19 18:54:31 +08:00
parent f55576883c
commit 1d9a3ad2c0
3 changed files with 26 additions and 7 deletions

View File

@ -119,6 +119,7 @@
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "pc";
sysctl.laptop-mode = 5;
};
hardware =
{

View File

@ -15,6 +15,7 @@ inputs:
./security.nix
./sops.nix
./user.nix
./sysctl.nix
];
config =
{
@ -22,13 +23,6 @@ inputs:
time.timeZone = "Asia/Shanghai";
boot =
{
kernel.sysctl =
{
"vm.oom_kill_allocating_task" = true;
"vm.oom_dump_tasks" = false;
"vm.overcommit_memory" = 1;
"kernel.sysrq" = 438;
};
supportedFilesystems = [ "ntfs" ];
consoleLogLevel = 7;
};

24
modules/system/sysctl.nix Normal file
View File

@ -0,0 +1,24 @@
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; })
];
}