Merge pull request #62101 from michaelpj/imp/lenovo-throttled
throttled: fix for Intel CPU throttling issues
This commit is contained in:
commit
e829aeefa3
@ -326,6 +326,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
|
||||
|
21
nixos/modules/services/hardware/throttled.nix
Normal file
21
nixos/modules/services/hardware/throttled.nix
Normal file
@ -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";
|
||||
};
|
||||
}
|
43
pkgs/tools/system/throttled/default.nix
Normal file
43
pkgs/tools/system/throttled/default.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{ stdenv, fetchFromGitHub, python3Packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "throttled";
|
||||
version = "0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "erpalma";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1icb2288pj25vbdnd16zvisw9c01hp8vkk25ilkc74gy76xhpcs4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3Packages.wrapPython ];
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
configparser
|
||||
dbus-python
|
||||
pygobject3
|
||||
];
|
||||
|
||||
# The upstream unit both assumes the install location, and tries to run in a virtualenv
|
||||
postPatch = ''sed -e 's|ExecStart=.*|ExecStart=${placeholder "out"}/bin/lenovo_fix.py|' -i systemd/lenovo_fix.service'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D -m755 -t $out/bin lenovo_fix.py
|
||||
install -D -t $out/bin lenovo_fix.py mmio.py
|
||||
install -D -m644 -t $out/etc etc/*
|
||||
install -D -m644 -t $out/lib/systemd/system systemd/*
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''wrapPythonPrograms'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Fix for Intel CPU throttling issues";
|
||||
homepage = https://github.com/erpalma/throttled;
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ michaelpj ];
|
||||
};
|
||||
}
|
@ -23823,6 +23823,8 @@ in
|
||||
|
||||
thermald = callPackage ../tools/system/thermald { };
|
||||
|
||||
throttled = callPackage ../tools/system/throttled { };
|
||||
|
||||
thinkfan = callPackage ../tools/system/thinkfan { };
|
||||
|
||||
tup = callPackage ../development/tools/build-managers/tup { };
|
||||
|
Loading…
Reference in New Issue
Block a user