Kernel is ignoring auto-cpufreq settings on laptop

Using a 12th gen intel CPU

In my configuration.nix I have some settings for my laptop CPU:

  services.thermald.enable = true;
  services.auto-cpufreq.enable = true;
  services.auto-cpufreq.settings = {
    battery = {
      governor = "powersave";
      turbo = "never";
    };
    charger = {
      governor = "powersave";
      turbo = "never";
    };
  };

but I think it’s being ignored. For instance, my laptop at this second is unplugged, but auto-cpufreq returns results that my laptop is currently charging

-------------------------------------------------------------------------------

Linux distro: NixOS 23.05 Stoat
Linux kernel: 6.1.55
Processor: 12th Gen Intel(R) Core(TM) i7-1260P
Cores: 16
Architecture: x86_64
Driver: intel_pstate

------------------------------ Current CPU stats ------------------------------

CPU max frequency: 4700 MHz
CPU min frequency: 400 MHz

Core    Usage   Temperature     Frequency
CPU0:     1.0%     73 °C     4700 MHz
CPU1:     0.0%     73 °C      620 MHz
CPU2:     1.0%     72 °C      648 MHz
CPU3:     0.0%     72 °C     1172 MHz
CPU4:     1.0%     71 °C      400 MHz
CPU5:     0.0%     71 °C      400 MHz
CPU6:     1.0%     72 °C      730 MHz
CPU7:     0.0%     72 °C      487 MHz
CPU8:     0.0%     72 °C      520 MHz
CPU9:     0.0%     72 °C      609 MHz
CPU10:    0.0%     71 °C      906 MHz
CPU11:    0.0%     71 °C      811 MHz
CPU12:    0.0%     69 °C      741 MHz
CPU13:    0.0%     69 °C      656 MHz
CPU14:    0.0%     69 °C      776 MHz
CPU15:    0.0%     70 °C      888 MHz

---------------------------- CPU frequency scaling ----------------------------

Battery is: charging

Setting to use: "powersave" governor

Total CPU usage: 0.6 %
Total system load: 0.48046875
Average temp. of all cores: 71.1875 °C
Configuration file disables turbo boost
setting turbo boost: off

-------------------------------------------------------------------------------

In addition, when I plug in my laptop, the CPU cores shoot to maximum frequency in btop, but when I run sudo auto-cpufreq --stats I get all the exact same temps as my earlier code block

Any idea of what configuration may be blocking auto-cpufreq from handling my CPU?

do you have an actual problem that you use auto-cpufreq to solve? any reliable metrics that determine whether it does or not? because that thing is a total trash fire.

Without it, all cores were running at 4 GHz all the time, idling the laptop at 85 degrees C. TLP has not been successful either. I’d be very happy to change solutions from auto-cpufreq if I can find one that works

For me it’s showing this message when I’m trying to

sudo auto-cpufreq --install
install is disabled in the nix package

But when I rebuild switch the daemon starts after reboot I can’t start auto cpu freq anyhow