about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/polybar/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/polybar/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/polybar/default.nix86
1 files changed, 60 insertions, 26 deletions
diff --git a/nixpkgs/pkgs/applications/misc/polybar/default.nix b/nixpkgs/pkgs/applications/misc/polybar/default.nix
index c79da21ad63a..b01b5af7dedc 100644
--- a/nixpkgs/pkgs/applications/misc/polybar/default.nix
+++ b/nixpkgs/pkgs/applications/misc/polybar/default.nix
@@ -1,13 +1,29 @@
-{ cairo, cmake, fetchFromGitHub, libXdmcp, libpthreadstubs, libxcb, pcre, pkg-config
-, python3, lib, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
-, xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper
+{ cairo
+, cmake
+, fetchFromGitHub
+, libXdmcp
+, libpthreadstubs
+, libxcb
+, pcre
+, pkg-config
+, python3
+, lib
+, stdenv
+, xcbproto
+, xcbutil
+, xcbutilcursor
+, xcbutilimage
+, xcbutilrenderutil
+, xcbutilwm
+, xcbutilxrm
+, makeWrapper
 , removeReferencesTo
 
 # optional packages-- override the variables ending in 'Support' to enable or
 # disable modules
 , alsaSupport   ? true,  alsaLib       ? null
 , githubSupport ? false, curl          ? null
-, mpdSupport    ? false, mpd_clientlib ? null
+, mpdSupport    ? false, libmpdclient ? null
 , pulseSupport  ? false, libpulseaudio ? null
 , iwSupport     ? false, wirelesstools ? null
 , nlSupport     ? true,  libnl         ? null
@@ -16,7 +32,7 @@
 
 assert alsaSupport   -> alsaLib       != null;
 assert githubSupport -> curl          != null;
-assert mpdSupport    -> mpd_clientlib != null;
+assert mpdSupport    -> libmpdclient != null;
 assert pulseSupport  -> libpulseaudio != null;
 
 assert iwSupport     -> ! nlSupport && wirelesstools != null;
@@ -37,26 +53,24 @@ stdenv.mkDerivation rec {
       fetchSubmodules = true;
     };
 
-    meta = with lib; {
-      homepage = "https://polybar.github.io/";
-      description = "A fast and easy-to-use tool for creating status bars";
-      longDescription = ''
-        Polybar aims to help users build beautiful and highly customizable
-        status bars for their desktop environment, without the need of
-        having a black belt in shell scripting.
-      '';
-      license = licenses.mit;
-      maintainers = with maintainers; [ afldcr Br1ght0ne ];
-      platforms = platforms.linux;
-    };
-
     buildInputs = [
-      cairo libXdmcp libpthreadstubs libxcb pcre python3 xcbproto xcbutil
-      xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
+      cairo
+      libXdmcp
+      libpthreadstubs
+      libxcb
+      pcre
+      python3
+      xcbproto
+      xcbutil
+      xcbutilcursor
+      xcbutilimage
+      xcbutilrenderutil
+      xcbutilwm
+      xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
       (if githubSupport then curl          else null)
-      (if mpdSupport    then mpd_clientlib else null)
+      (if mpdSupport    then libmpdclient  else null)
       (if pulseSupport  then libpulseaudio else null)
 
       (if iwSupport     then wirelesstools else null)
@@ -69,16 +83,36 @@ stdenv.mkDerivation rec {
       (if i3Support || i3GapsSupport then makeWrapper else null)
     ];
 
-    postInstall = if (i3Support || i3GapsSupport) then ''
-      wrapProgram $out/bin/polybar \
-        --prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
-    '' else "";
+    postInstall = if i3Support
+                  then ''wrapProgram $out/bin/polybar \
+                           --prefix PATH : "${i3}/bin"
+                       ''
+                  else if i3GapsSupport
+                  then ''wrapProgram $out/bin/polybar \
+                           --prefix PATH : "${i3-gaps}/bin"
+                       ''
+                  else '''';
 
     nativeBuildInputs = [
-      cmake pkg-config removeReferencesTo
+      cmake
+      pkg-config
+      removeReferencesTo
     ];
 
     postFixup = ''
         remove-references-to -t ${stdenv.cc} $out/bin/polybar
     '';
+
+    meta = with lib; {
+      homepage = "https://polybar.github.io/";
+      description = "A fast and easy-to-use tool for creating status bars";
+      longDescription = ''
+        Polybar aims to help users build beautiful and highly customizable
+        status bars for their desktop environment, without the need of
+        having a black belt in shell scripting.
+      '';
+      license = licenses.mit;
+      maintainers = with maintainers; [ afldcr Br1ght0ne ];
+      platforms = platforms.linux;
+    };
 }