From efbd890f991c36f53dfd08f3229952e17fb95d4f Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Sun, 26 May 2019 23:31:55 +0100 Subject: [PATCH] nixos: add throttled service --- nixos/modules/module-list.nix | 1 + nixos/modules/services/hardware/throttled.nix | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 nixos/modules/services/hardware/throttled.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 49b5076aefd..efbd0154eb6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -325,6 +325,7 @@ ./services/hardware/tcsd.nix ./services/hardware/tlp.nix ./services/hardware/thinkfan.nix + ./services/hardware/throttled.nix ./services/hardware/trezord.nix ./services/hardware/triggerhappy.nix ./services/hardware/u2f.nix diff --git a/nixos/modules/services/hardware/throttled.nix b/nixos/modules/services/hardware/throttled.nix new file mode 100644 index 00000000000..cd5b01450e4 --- /dev/null +++ b/nixos/modules/services/hardware/throttled.nix @@ -0,0 +1,21 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.throttled; +in { + options = { + services.throttled = { + enable = mkEnableOption "fix for Intel CPU throttling"; + }; + }; + + config = mkIf cfg.enable { + systemd.packages = [ pkgs.throttled ]; + # The upstream package has this in Install, but that's not enough, see the NixOS manual + systemd.services."lenovo_fix".wantedBy = [ "multi-user.target" ]; + + environment.etc."lenovo_fix.conf".source = "${pkgs.throttled}/etc/lenovo_fix.conf"; + }; +}