diff options
author | Angelo Bulfone <mbulfone@gmail.com> | 2017-05-30 11:30:41 -0700 |
---|---|---|
committer | Angelo Bulfone <mbulfone@gmail.com> | 2017-05-30 11:31:06 -0700 |
commit | 4642e8d1cf750780aa7aa7be0674491cd4b3a522 (patch) | |
tree | 61404efbec0faeac533851ee468849b9631b89ed /pkgs/applications/window-managers/i3/blocks.nix | |
parent | 4e88e82e065653f0ca3418aaa7b2af7cdcde8e15 (diff) | |
download | nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.tar nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.tar.gz nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.tar.bz2 nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.tar.lz nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.tar.xz nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.tar.zst nixlib-4642e8d1cf750780aa7aa7be0674491cd4b3a522.zip |
i3blocks: add optional dependencies for scripts
Diffstat (limited to 'pkgs/applications/window-managers/i3/blocks.nix')
-rw-r--r-- | pkgs/applications/window-managers/i3/blocks.nix | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix index 60f13ce440c3..88bf7762dd87 100644 --- a/pkgs/applications/window-managers/i3/blocks.nix +++ b/pkgs/applications/window-managers/i3/blocks.nix @@ -1,5 +1,19 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, perl, makeWrapper +, iproute, acpi, sysstat, xset, playerctl +, cmus, openvpn, lm_sensors, alsaUtils +, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface" + "keyindicator" "load_average" "mediaplayer" "memory" + "openvpn" "temperature" "volume" "wifi" ] +}: +with stdenv.lib; + +let + perlscripts = [ "battery" "cpu_usage" "keyindicator" + "mediaplayer" "openvpn" "temperature" ]; + contains_any = l1: l2: 0 < length( intersectLists l1 l2 ); + +in stdenv.mkDerivation rec { name = "i3blocks-${version}"; version = "1.4"; @@ -12,7 +26,31 @@ stdenv.mkDerivation rec { buildFlags = "SYSCONFDIR=/etc all"; installFlags = "PREFIX=\${out} VERSION=${version}"; - meta = with stdenv.lib; { + buildInputs = optional (contains_any scripts perlscripts) perl; + nativeBuildInputs = [ makeWrapper ]; + + postFixup = '' + wrapProgram $out/libexec/i3blocks/bandwidth \ + --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)} + wrapProgram $out/libexec/i3blocks/battery \ + --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)} + wrapProgram $out/libexec/i3blocks/cpu_usage \ + --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)} + wrapProgram $out/libexec/i3blocks/iface \ + --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)} + wrapProgram $out/libexec/i3blocks/keyindicator \ + --prefix PATH : ${makeBinPath (optional (elem "keyindicator" scripts) xset)} + wrapProgram $out/libexec/i3blocks/mediaplayer \ + --prefix PATH : ${makeBinPath (optionals (elem "mediaplayer" scripts) [playerctl cmus])} + wrapProgram $out/libexec/i3blocks/openvpn \ + --prefix PATH : ${makeBinPath (optional (elem "openvpn" scripts) openvpn)} + wrapProgram $out/libexec/i3blocks/temperature \ + --prefix PATH : ${makeBinPath (optional (elem "temperature" scripts) lm_sensors)} + wrapProgram $out/libexec/i3blocks/volume \ + --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)} + ''; + + meta = { description = "A flexible scheduler for your i3bar blocks"; homepage = https://github.com/vivien/i3blocks; license = licenses.gpl3; |