diff options
author | Nikolay Amiantov <ab@fmap.me> | 2015-11-09 17:24:08 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2015-11-09 17:29:59 +0300 |
commit | 23845d7084583a87ca30bb937d4c44b3c203b3af (patch) | |
tree | 264f6bc66324725599cc44f4ef6186763dfa9ccc | |
parent | 265718c9854957a5f724416429a4a208e33f7726 (diff) | |
download | nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.tar nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.gz nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.bz2 nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.lz nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.xz nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.zst nixlib-23845d7084583a87ca30bb937d4c44b3c203b3af.zip |
tlp: add x86_energy_perf_policy, refactor
-rw-r--r-- | nixos/modules/services/hardware/tlp.nix | 11 | ||||
-rw-r--r-- | pkgs/tools/misc/tlp/default.nix | 33 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 25 insertions, 21 deletions
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix index 9bd246bfb637..23b6edcefd1a 100644 --- a/nixos/modules/services/hardware/tlp.nix +++ b/nixos/modules/services/hardware/tlp.nix @@ -6,7 +6,12 @@ let cfg = config.services.tlp; -tlp = pkgs.tlp.override { kmod = config.system.sbin.modprobe; }; +enableRDW = config.networking.networkmanager.enable; + +tlp = pkgs.tlp.override { + inherit enableRDW; + kmod = config.system.sbin.modprobe; +}; # XXX: We can't use writeTextFile + readFile here because it triggers # TLP build to get the .drv (even on --dry-run). @@ -90,13 +95,15 @@ in environment.etc = [{ source = confFile; target = "default/tlp"; } - ] ++ optional tlp.enableRDW { + ] ++ optional enableRDW { source = "${tlp}/etc/NetworkManager/dispatcher.d/99tlp-rdw-nm"; target = "NetworkManager/dispatcher.d/99tlp-rdw-nm"; }; environment.systemPackages = [ tlp ]; + boot.kernelModules = [ "msr" ]; + }; } diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix index 5210a07d7ffa..52d79a9bd5d2 100644 --- a/pkgs/tools/misc/tlp/default.nix +++ b/pkgs/tools/misc/tlp/default.nix @@ -1,11 +1,10 @@ -{ stdenv, fetchFromGitHub, makeWrapper, perl, systemd, iw, rfkill, hdparm, ethtool, inetutils, kmod -, pciutils, smartmontools -, enableRDW ? true, networkmanager }: +{ stdenv, lib, fetchFromGitHub, makeWrapper, perl, systemd, iw, rfkill, hdparm, ethtool, inetutils +, kmod, pciutils, smartmontools, x86_energy_perf_policy +, enableRDW ? false, networkmanager +}: let version = "0.8"; in stdenv.mkDerivation { - inherit enableRDW; - name = "tlp-${version}"; src = fetchFromGitHub { @@ -27,10 +26,11 @@ in stdenv.mkDerivation { buildInputs = [ perl ]; - paths = with stdenv.lib; - concatMapStringsSep ":" (x: "${x}/bin") - ([ iw rfkill hdparm ethtool inetutils systemd kmod pciutils smartmontools ] - ++ optional enableRDW networkmanager + paths = lib.makeSearchPath "bin" + ([ iw rfkill hdparm ethtool inetutils systemd kmod pciutils smartmontools + x86_energy_perf_policy + ] + ++ lib.optional enableRDW networkmanager ); installTargets = [ "install-tlp" ] ++ stdenv.lib.optional enableRDW "install-rdw"; @@ -41,13 +41,6 @@ in stdenv.mkDerivation { wrapProgram "$i" \ --prefix PATH : "$paths" done - if [ "$enableRDW" = "1" ]; then - for i in $out/etc/NetworkManager/dispatcher.d/*; do - sed -i "s,/usr/lib/,$out/lib/,g" "$i" - wrapProgram "$i" \ - --prefix PATH : "$paths" - done - fi for i in $out/lib/udev/rules.d/*; do sed -i "s,RUN+=\",\\0$out,g; s,/usr/sbin,/bin,g" "$i" @@ -56,10 +49,14 @@ in stdenv.mkDerivation { for i in man/*; do install -D $i $out/share/man/man''${i##*.}/$(basename $i) done + '' + lib.optionalString enableRDW '' + for i in $out/etc/NetworkManager/dispatcher.d/*; do + sed -i "s,/usr/lib/,$out/lib/,g" "$i" + wrapProgram "$i" \ + --prefix PATH : "$paths" + done ''; - passthru = { inherit enableRDW; }; - meta = with stdenv.lib; { description = "Advanced Power Management for Linux"; homepage = "http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2ec4ba03ceed..a91d3da88b89 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13103,7 +13103,7 @@ let tla = callPackage ../applications/version-management/arch { }; tlp = callPackage ../tools/misc/tlp { - enableRDW = config.networking.networkmanager.enable or false; + inherit (linuxPackages) x86_energy_perf_policy; }; todo-txt-cli = callPackage ../applications/office/todo.txt-cli { }; |