Merge pull request #62101 from michaelpj/imp/lenovo-throttled

throttled: fix for Intel CPU throttling issues
This commit is contained in:
Jörg Thalheim 2019-06-11 11:10:52 +01:00 committed by GitHub
commit e829aeefa3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 67 additions and 0 deletions

View File

@ -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

View 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";
};
}

View 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 ];
};
}

View File

@ -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 { };