{ config, pkgs, ... }: { # Temporary fix for cpu throttling issues visible in the kernel log # (journalctl -k) by setting the same temperature limits used by # Window$ # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues systemd.services.cpu-throttling = { enable = true; description = "Sets the offset to 3 °C, so the new trip point is 97 °C"; documentation = [ "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" ]; path = [ pkgs.msr-tools ]; script = "wrmsr -a 0x1a2 0x3000000"; serviceConfig = { Type = "oneshot"; }; wantedBy = [ "timers.target" ]; }; systemd.timers.cpu-throttling = { enable = true; description = "Set cpu heating limit to 97 °C"; documentation = [ "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" ]; timerConfig = { OnActiveSec = 60; OnUnitActiveSec = 60; Unit = "cpu-throttling.service"; }; wantedBy = [ "timers.target" ]; }; }