# # Возможно проблемы с оптимизацией 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; }; }; }; }