3 # ExplanationNote: not compatible with auto-cpufreq
4 services.tlp.enable = false;
5 services.power-profiles-daemon.enable = false;
6 services.auto-cpufreq = {
9 # settings for when connected to a power source
11 # see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
13 governor = lib.mkDefault "ondemand";
14 # EPP: see available preferences by running: cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
15 energy_performance_preference = lib.mkDefault "ondemand";
17 # EPB (Energy Performance Bias) for the intel_pstate driver
18 # see conversion info: https://www.kernel.org/doc/html/latest/admin-guide/pm/intel_epb.html
19 # available EPB options include a numeric value between 0-15
20 # (where 0 = maximum performance and 15 = maximum power saving),
21 # or one of the following strings:
22 # performance (0), balance_performance (4), default (6), balance_power (8), or power (15)
23 # if the parameter is missing in the config and the hardware supports this setting, the default value will be used
24 # the default value is `balance_performance` (for charger)
25 # energy_perf_bias = balance_performance
28 # https://www.kernel.org/doc/html/latest/userspace-api/sysfs-platform_profile.html
29 # See available options by running:
30 # cat /sys/firmware/acpi/platform_profile_choices
31 platform_profile = lib.mkDefault "balanced";
33 # minimum cpu frequency (in kHz)
34 # example: for 800 MHz = 800000 kHz --> scaling_min_freq = 800000
35 # see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
36 # to use this feature, uncomment the following line and set the value accordingly
37 # scaling_min_freq = 800000
39 # maximum cpu frequency (in kHz)
40 # example: for 1GHz = 1000 MHz = 1000000 kHz -> scaling_max_freq = 1000000
41 # see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
42 # to use this feature, uncomment the following line and set the value accordingly
43 # scaling_max_freq = 1000000
45 # turbo boost setting. possible values: always, auto, never
46 turbo = lib.mkDefault "auto";
48 # this is for ignoring controllers and other connected devices battery from affecting
50 # [power_supply_ignore_list]
57 # settings for when using battery power
59 # see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
61 governor = "powersave";
63 # EPP: see available preferences by running: cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
64 energy_performance_preference = "power";
66 # EPB (Energy Performance Bias) for the intel_pstate driver
67 # see conversion info: https://www.kernel.org/doc/html/latest/admin-guide/pm/intel_epb.html
68 # available EPB options include a numeric value between 0-15
69 # (where 0 = maximum performance and 15 = maximum power saving),
70 # or one of the following strings:
71 # performance (0), balance_performance (4), default (6), balance_power (8), or power (15)
72 # if the parameter is missing in the config and the hardware supports this setting, the default value will be used
73 # the default value is `balance_power` (for battery)
74 # energy_perf_bias = balance_power
77 # https://www.kernel.org/doc/html/latest/userspace-api/sysfs-platform_profile.html
78 # See available options by running:
79 # cat /sys/firmware/acpi/platform_profile_choices
80 platform_profile = "low-power";
82 # minimum cpu frequency (in kHz)
83 # example: for 800 MHz = 800000 kHz --> scaling_min_freq = 800000
84 # see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
85 # to use this feature, uncomment the following line and set the value accordingly
86 # scaling_min_freq = 800000
88 # maximum cpu frequency (in kHz)
89 # see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
90 # example: for 1GHz = 1000 MHz = 1000000 kHz -> scaling_max_freq = 1000000
91 # to use this feature, uncomment the following line and set the value accordingly
92 # scaling_max_freq = 1000000
94 # turbo boost setting. possible values: always, auto, never
95 turbo = lib.mkDefault "auto";
99 # Add battery charging threshold (currently only available to Lenovo)
100 # checkout README.md for more info
102 # enable thresholds true or false
103 enable_thresholds = lib.mkDefault false;
105 # start threshold (0 is off ) can be 0-99
106 start_threshold = lib.mkDefault 0;
108 # stop threshold (100 is off) can be 1-100
109 stop_threshold = lib.mkDefault 100;