diff options
-rw-r--r-- | lib/maintainers.nix | 1 | ||||
-rw-r--r-- | pkgs/applications/misc/polybar/default.nix | 60 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 63 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 167a231af8b9..cb3ba191a719 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -20,6 +20,7 @@ adolfogc = "Adolfo E. GarcĂa Castro <adolfo.garcia.cr@gmail.com>"; aespinosa = "Allan Espinosa <allan.espinosa@outlook.com>"; aflatter = "Alexander Flatter <flatter@fastmail.fm>"; + afldcr = "James Alexander Feldman-Crough <alex@fldcr.com>"; aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>"; afranchuk = "Alex Franchuk <alex.franchuk@gmail.com>"; aherrmann = "Andreas Herrmann <andreash87@gmx.ch>"; diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix new file mode 100644 index 000000000000..aceaf43ac976 --- /dev/null +++ b/pkgs/applications/misc/polybar/default.nix @@ -0,0 +1,60 @@ +{ 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"; + }; + + 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 + ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34532300afd4..079f3220015a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14364,6 +14364,8 @@ with pkgs; stdenv = stdenv_32bit; }; + polybar = callPackage ../applications/misc/polybar { }; + scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { }; shotcut = qt5.callPackage ../applications/video/shotcut { }; |