aboutsummaryrefslogtreecommitdiff
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)
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 00000000000..ef08ad2f1b4
--- /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
+ ];
+}