summary refs log blame commit diff
path: root/pkgs/applications/misc/waybar/default.nix
blob: 3dad7a3d9dd6bd3e25b5be31258bc984280e0537 (plain) (tree)
1
2
3
4
5
6
7
8
                                                  
                                                                     


                                        
                            
                            
                                     


                               
                      




                           
                                                                      






                                  
                                                                      


                                                
                                    

                                              




                                                                         
                                                                    
                                                               





                                                                                             
                                                                     


                                 
{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja
, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, spdlog
, traySupport  ? true,  libdbusmenu-gtk3
, pulseSupport ? false, libpulseaudio
, nlSupport    ? true,  libnl
, udevSupport  ? true,  udev
, swaySupport  ? true,  sway
, mpdSupport   ? true,  mpd_clientlib
}:
  stdenv.mkDerivation rec {
    name = "waybar-${version}";
    version = "0.6.7";

    src = fetchFromGitHub {
      owner = "Alexays";
      repo = "Waybar";
      rev = version;
      sha256 = "1rkqxszay2fns8c2q0b668mjacr4wb7drlbfi55z9w5f9cfxgifw";
    };

    nativeBuildInputs = [
      meson ninja pkgconfig
    ];

    buildInputs = with stdenv.lib;
      [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt spdlog ]
      ++ optional  traySupport  libdbusmenu-gtk3
      ++ optional  pulseSupport libpulseaudio
      ++ optional  nlSupport    libnl
      ++ optional  udevSupport  udev
      ++ optional  swaySupport  sway
      ++ optional  mpdSupport   mpd_clientlib;

    mesonFlags = [
      "-Ddbusmenu-gtk=${ if traySupport then "enabled" else "disabled" }"
      "-Dpulseaudio=${ if pulseSupport then "enabled" else "disabled" }"
      "-Dlibnl=${ if nlSupport then "enabled" else "disabled" }"
      "-Dlibudev=${ if udevSupport then "enabled" else "disabled" }"
      "-Dmpd=${ if mpdSupport then "enabled" else "disabled" }"
      "-Dout=${placeholder "out"}"
    ];

    meta = with stdenv.lib; {
      description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
      license = licenses.mit;
      maintainers = with maintainers; [ FlorianFranzen minijackson ];
      platforms = platforms.unix;
    };
  }