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/tcsd.nix
|
||||||
./services/hardware/tlp.nix
|
./services/hardware/tlp.nix
|
||||||
./services/hardware/thinkfan.nix
|
./services/hardware/thinkfan.nix
|
||||||
|
./services/hardware/throttled.nix
|
||||||
./services/hardware/trezord.nix
|
./services/hardware/trezord.nix
|
||||||
./services/hardware/triggerhappy.nix
|
./services/hardware/triggerhappy.nix
|
||||||
./services/hardware/u2f.nix
|
./services/hardware/u2f.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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 { };
|
thermald = callPackage ../tools/system/thermald { };
|
||||||
|
|
||||||
|
throttled = callPackage ../tools/system/throttled { };
|
||||||
|
|
||||||
thinkfan = callPackage ../tools/system/thinkfan { };
|
thinkfan = callPackage ../tools/system/thinkfan { };
|
||||||
|
|
||||||
tup = callPackage ../development/tools/build-managers/tup { };
|
tup = callPackage ../development/tools/build-managers/tup { };
|
||||||
|
|
Loading…
Reference in New Issue