about summary refs log tree commit diff
path: root/pkgs/applications/misc/polybar
diff options
context:
space:
mode:
authorJames Alexander Feldman-Crough <alex@fldcr.com>2017-02-05 10:57:02 -0800
committerJames Alexander Feldman-Crough <alex@fldcr.com>2017-02-05 10:57:02 -0800
commit0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d (patch)
tree1249938766fd53639ab702e4f2376925fd40aa5b /pkgs/applications/misc/polybar
parent5213e6326cef7011ba777439737842365534fa81 (diff)
downloadnixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.tar
nixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.tar.gz
nixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.tar.bz2
nixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.tar.lz
nixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.tar.xz
nixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.tar.zst
nixlib-0f905b0dc8553b21d9da5333eb1d6c8be4e2ab9d.zip
polybar: init at 3.0.4
Polybar is a status bar in the vein of xmobar or i3bar.
Diffstat (limited to 'pkgs/applications/misc/polybar')
-rw-r--r--pkgs/applications/misc/polybar/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
new file mode 100644
index 000000000000..ef08ad2f1b4d
--- /dev/null
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -0,0 +1,61 @@
+{ cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
+, python2 , stdenv, xcbproto, xcbutil, xcbutilimage, xcbutilrenderutil
+, xcbutilwm, xcbutilxrm
+
+# optional packages-- override the variables ending in 'Support' to enable or
+# disable modules
+, alsaSupport   ? true,  alsaLib       ? null
+, iwSupport     ? true,  wirelesstools ? null
+, githubSupport ? false, curl          ? null
+, mpdSupport    ? false, mpd_clientlib ? null
+, i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null
+}:
+
+assert alsaSupport   -> alsaLib       != null;
+assert githubSupport -> curl          != null;
+assert iwSupport     -> wirelesstools != null;
+assert mpdSupport    -> mpd_clientlib != null;
+
+assert i3Support     -> ! i3GapsSupport && jsoncpp != null && i3      != null;
+assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
+
+stdenv.mkDerivation rec {
+    name = "polybar-${version}";
+    version = "3.0.4";
+    src = fetchgit {
+      url = "https://github.com/jaagr/polybar";
+      rev = "1f31870d43f5cd87a5529a55b1d2d3e64105e0af";
+      sha256 = "1nhj4npqhs6zy161931sbdi52gz6163lik0wri9wr122sjf90jas";
+      fetchSubmodules = true;
+    };
+
+    meta = with stdenv.lib; {
+      description = "A fast and easy-to-use tool for creatin 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 = [ maintainers.afldcr ];
+      platforms = platforms.unix;
+    };
+
+    buildInputs = [
+      cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil
+      xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
+
+      (if alsaSupport   then alsaLib       else null)
+      (if githubSupport then curl          else null)
+      (if iwSupport     then wirelesstools else null)
+      (if mpdSupport    then mpd_clientlib else null)
+
+      (if i3Support || i3GapsSupport then jsoncpp else null)
+      (if i3Support then i3 else null)
+      (if i3GapsSupport then i3-gaps else null)
+    ];
+
+    nativeBuildInputs = [
+      cmake pkgconfig
+    ];
+}