55 lines
1.3 KiB
Nix
55 lines
1.3 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
|
|
options.bchmnn = {
|
|
|
|
power = {
|
|
tlp = {
|
|
settings = lib.mkOption {
|
|
type =
|
|
with lib.types;
|
|
attrsOf (oneOf [
|
|
bool
|
|
int
|
|
float
|
|
str
|
|
(listOf str)
|
|
]);
|
|
default = {
|
|
# performance | powersave
|
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
|
CPU_SCALING_GOVERNOR_ON_BAT = "performance";
|
|
# performance | balance_performance | default | balance_power | power
|
|
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
# performance | balanced | low-power
|
|
PLATFORM_PROFILE_ON_AC = "performance";
|
|
PLATFORM_PROFILE_ON_BAT = "low-power";
|
|
CPU_MIN_PERF_ON_AC = 0;
|
|
CPU_MAX_PERF_ON_AC = 100;
|
|
CPU_MIN_PERF_ON_BAT = 0;
|
|
CPU_MAX_PERF_ON_BAT = 100;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
powerManagement = {
|
|
enable = true;
|
|
};
|
|
|
|
services.tlp = {
|
|
enable = !builtins.elem "gnome" config.bchmnn.gui.flavour;
|
|
settings = config.bchmnn.power.tlp.settings;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [ powertop ];
|
|
};
|
|
}
|