diff --git a/configuration.nix b/configuration.nix index 0d6099a..1d0b45b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -17,12 +17,14 @@ in { ./hacks.nix ./docker.nix ./home-manager.nix + ./thinkpad.nix ]; time.timeZone = "UTC"; boot.kernelPackages = unstable.linuxPackages_latest; boot.blacklistedKernelModules = [ "nouveau" ]; + boot.earlyVconsoleSetup = true; hardware.cpu.intel.updateMicrocode = true; hardware.enableRedistributableFirmware = true; diff --git a/thinkpad.nix b/thinkpad.nix new file mode 100644 index 0000000..0e83108 --- /dev/null +++ b/thinkpad.nix @@ -0,0 +1,27 @@ +# https://github.com/NixOS/nixos-hardware/blob/master/common/pc/laptop/cpu-throttling-bug.nix +{ config, pkgs, ... }: +{ + systemd.services.cpu-throttling = { + enable = true; + description = "CPU Throttling Fix"; + path = [ pkgs.msr-tools ]; + script = "wrmsr -a 0x1a2 0x3000000"; + serviceConfig.Type = "oneshot"; + wantedBy = [ + "timers.target" + ]; + }; + + systemd.timers.cpu-throttling = { + enable = true; + description = "CPU Throttling Fix"; + timerConfig = { + OnActiveSec = 60; + OnUnitActiveSec = 60; + Unit = "cpu-throttling.service"; + }; + wantedBy = [ + "timers.target" + ]; + }; +}