This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types mkMerge;
|
||||
validOptions = [ "desktop" "laptop" ];
|
||||
in
|
||||
{
|
||||
options.smayzy.power = mkOption {
|
||||
type = types.enum validOptions;
|
||||
default = "desktop";
|
||||
description = "chose power mode between desktop and laptop";
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (config.smayzy.power == "desktop") {
|
||||
services.power-profiles-daemon.enable = false;
|
||||
services.auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (config.smayzy.power == "laptop") {
|
||||
services.logind.lidSwitch = "suspend";
|
||||
services.power-profiles-daemon.enable = false;
|
||||
services.tlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||
|
||||
CPU_MIN_PERF_ON_AC = 0;
|
||||
CPU_MAX_PERF_ON_AC = 100;
|
||||
CPU_MIN_PERF_ON_BAT = 0;
|
||||
CPU_MAX_PERF_ON_BAT = 100;
|
||||
|
||||
STOP_CHARGE_THRESH_BAT0 = 95;
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user