67 lines
2.2 KiB
Nix
67 lines
2.2 KiB
Nix
# # Возможно проблемы с оптимизацией USB (лагает клавиатура/мышь)
|
|
|
|
{ config, lib, vars, ... }:
|
|
let
|
|
cfg = config.custom;
|
|
hasBattery = lib.any (x: lib.strings.hasPrefix "BAT" x)
|
|
(builtins.attrNames (builtins.readDir "/sys/class/power_supply"));
|
|
in {
|
|
options.custom = {
|
|
battery.enable = lib.mkOption {
|
|
default = hasBattery;
|
|
description = "Enable better battery support";
|
|
type = lib.types.bool;
|
|
};
|
|
};
|
|
|
|
# config = lib.mkIf cfg.battery.enable {
|
|
config = {
|
|
boot.kernelParams = [ "amd_pstate=active" ];
|
|
|
|
powerManagement.powertop.enable =
|
|
true; # enable powertop auto tuning on startup.
|
|
|
|
services.system76-scheduler.settings.cfsProfiles.enable =
|
|
true; # Better scheduling for CPU cycles - thanks System76!!!
|
|
# services.thermald.enable =
|
|
# true; # Enable thermald, the temperature management daemon. (only necessary if on Intel CPUs)
|
|
services.power-profiles-daemon.enable =
|
|
false; # Disable GNOMEs power management
|
|
services.tlp = {
|
|
enable = true; # Enable TLP (better than gnomes internal power manager)
|
|
settings = {
|
|
CPU_BOOST_ON_AC = 1;
|
|
CPU_BOOST_ON_BAT = 0;
|
|
CPU_HWP_DYN_BOOST_ON_AC = 1;
|
|
CPU_HWP_DYN_BOOST_ON_BAT = 0;
|
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
CPU_SCALING_MIN_FREQ_ON_BAT = 0;
|
|
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
|
|
AMDGPU_ABM_LEVEL_ON_AC = 0;
|
|
AMDGPU_ABM_LEVEL_ON_BAT = 0;
|
|
PLATFORM_PROFILE_ON_AC = "performance";
|
|
PLATFORM_PROFILE_ON_BAT = "low-power";
|
|
PCIE_ASPM_ON_BAT = "powersupersave";
|
|
SATA_LINKPWR_ON_AC = "med_power_with_dipm";
|
|
SATA_LINKPWR_ON_BAT = "min_power";
|
|
RUNTIME_PM_ON_AC = "on";
|
|
RUNTIME_PM_ON_BAT = "auto";
|
|
SOUND_POWER_SAVE_ON_AC = 0;
|
|
SOUND_POWER_SAVE_ON_BAT = 1;
|
|
SOUND_POWER_SAVE_CONTROLLER = "Y";
|
|
CPU_MAX_PERF_ON_AC = 100;
|
|
CPU_MAX_PERF_ON_BAT = 50;
|
|
NMI_WATCHDOG = 0;
|
|
|
|
USB_AUTOSUSPEND = 0;
|
|
USB_BLACKLIST_BTUSB = 0;
|
|
START_CHARGE_THRESH_BAT0 = 0;
|
|
STOP_CHARGE_THRESH_BAT0 = 1;
|
|
};
|
|
};
|
|
};
|
|
}
|