Files
nixos-config/nixos/modules/power.nix
T
2026-01-20 23:02:45 +03:00

86 lines
2.7 KiB
Nix

{ config, pkgs, lib, ... }:
# TODO: Добавить настройку вентиляторов
{
environment.systemPackages = with pkgs; [ powertop system76-scheduler tlp ];
services.power-profiles-daemon.enable = false;
powerManagement.powertop.enable = true;
services.thermald.enable = true;
services.system76-scheduler.settings.cfsProfiles.enable = true;
# networking.networkmanager.wifi.powersave = true;
services.auto-cpufreq.enable = true;
hardware.intel-gpu-tools.enable = true;
### NixOS power management
# powerManagement = {
# enable = true;
# #cpufreq.min = 800000;
# #cpufreq.max = 2200000;
# # powertop.enable = true;
# #powerUpCommands =
# cpuFreqGovernor = "schedutil"; # power, performance, ondemand
# };
boot.kernelParams = [ "usbcore.autosuspend=0" ];
# services.tlp = {
# enable = true;
# settings = { # power saving priority
# CPU_ENERGY_PERF_POLICY_ON_AC = "balance_performance";
# CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
# CPU_ENERGY_PERF_POLICY_ON_SAV = "power";
# PLATFORM_PROFILE_ON_AC = "performance";
# PLATFORM_PROFILE_ON_BAT = "power";
# PLATFORM_PROFILE_ON_SAV = "low-power";
# CPU_BOOST_ON_AC = 1;
# CPU_BOOST_ON_BAT = 0;
# CPU_BOOST_ON_SAV = 0;
# CPU_HWP_DYN_BOOST_ON_AC = 1;
# CPU_HWP_DYN_BOOST_ON_BAT = 0;
# CPU_HWP_DYN_BOOST_ON_SAV = 0;
# AMDGPU_ABM_LEVEL_ON_AC = 0;
# AMDGPU_ABM_LEVEL_ON_BAT = 3;
# AMDGPU_ABM_LEVEL_ON_SAV = 3;
# # 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;
# };
# };
}