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