anchor.diff:        maintainers = with maintainers; [ afldcr Br1ght0ne ];
         platforms = platforms.linux;
       };
  -
  -    buildInputs = [
  -      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 pulseSupport  then libpulseaudio else null)
  -
  -      (if iwSupport     then wirelesstools else null)
  -      (if nlSupport     then libnl         else null)
  -
  -      (if i3Support || i3GapsSupport then jsoncpp else null)
  -      (if i3Support then i3 else null)
  -      (if i3GapsSupport then i3-gaps else null)
  -
  -      (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 "";
  -
  -    nativeBuildInputs = [
  -      cmake pkg-config removeReferencesTo
  -    ];
  -
  -    postFixup = ''
  -        remove-references-to -t ${stdenv.cc} $out/bin/polybar
  -    '';
   }
  
positive.code: 
  assert alsaSupport   -> alsaLib       != null;
  assert githubSupport -> curl          != null;
  assert mpdSupport    -> mpd_clientlib != null;
  assert pulseSupport  -> libpulseaudio != null;
  
  assert iwSupport     -> ! nlSupport && wirelesstools != null;
  
negative.code: { 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, libmpdclient ? null
  , pulseSupport  ? false, libpulseaudio ? null
  , iwSupport     ? false, wirelesstools ? null
  , nlSupport     ? true,  libnl         ? null
  