summary refs log tree commit diff
path: root/pkgs/tools/misc/tlp
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2015-11-09 17:24:08 +0300
committerNikolay Amiantov <ab@fmap.me>2015-11-09 17:29:59 +0300
commit23845d7084583a87ca30bb937d4c44b3c203b3af (patch)
tree264f6bc66324725599cc44f4ef6186763dfa9ccc /pkgs/tools/misc/tlp
parent265718c9854957a5f724416429a4a208e33f7726 (diff)
downloadnixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.tar
nixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.gz
nixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.bz2
nixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.lz
nixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.xz
nixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.tar.zst
nixpkgs-23845d7084583a87ca30bb937d4c44b3c203b3af.zip
tlp: add x86_energy_perf_policy, refactor
Diffstat (limited to 'pkgs/tools/misc/tlp')
-rw-r--r--pkgs/tools/misc/tlp/default.nix33
1 files changed, 15 insertions, 18 deletions
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
index 5210a07d7ff..52d79a9bd5d 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";