mirror of
https://github.com/rad4day/Waybar.git
synced 2025-07-13 14:42:29 +02:00
improve nix dev shell; override the nixpkgs waybar
for example, the update from 0.9.16 to 0.9.17 broke this flake, after this change the derivation will be the same as the nixpkgs one. This is the better option since the flake is unmaintained in this repo (although it may still break inbetween releases)
This commit is contained in:
127
nix/default.nix
127
nix/default.nix
@ -1,60 +1,11 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, pkg-config
|
||||
, ninja
|
||||
, wrapGAppsHook
|
||||
, wayland
|
||||
, wlroots
|
||||
, gtkmm3
|
||||
, libsigcxx
|
||||
, jsoncpp
|
||||
, scdoc
|
||||
, spdlog
|
||||
, gtk-layer-shell
|
||||
, howard-hinnant-date
|
||||
, libinotify-kqueue
|
||||
, libxkbcommon
|
||||
, evdevSupport ? true
|
||||
, libevdev
|
||||
, inputSupport ? true
|
||||
, libinput
|
||||
, jackSupport ? true
|
||||
, libjack2
|
||||
, mpdSupport ? true
|
||||
, libmpdclient
|
||||
, nlSupport ? true
|
||||
, libnl
|
||||
, pulseSupport ? true
|
||||
, libpulseaudio
|
||||
, rfkillSupport ? true
|
||||
, runTests ? true
|
||||
, catch2_3
|
||||
, sndioSupport ? true
|
||||
, sndio
|
||||
, swaySupport ? true
|
||||
, sway
|
||||
, traySupport ? true
|
||||
, libdbusmenu-gtk3
|
||||
, udevSupport ? true
|
||||
, udev
|
||||
, upowerSupport ? true
|
||||
, upower
|
||||
, wireplumberSupport ? true
|
||||
, wireplumber
|
||||
, withMediaPlayer ? false
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, python3
|
||||
, playerctl
|
||||
, waybar
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "waybar";
|
||||
waybar.overrideAttrs (prev: {
|
||||
inherit version;
|
||||
# version = "0.9.16";
|
||||
# version = "0.9.17";
|
||||
|
||||
src = lib.cleanSourceWith {
|
||||
filter = name: type:
|
||||
@ -66,74 +17,4 @@ stdenv.mkDerivation rec {
|
||||
);
|
||||
src = lib.cleanSource ../.;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
scdoc
|
||||
wrapGAppsHook
|
||||
] ++ lib.optional withMediaPlayer gobject-introspection;
|
||||
|
||||
propagatedBuildInputs = lib.optionals withMediaPlayer [
|
||||
glib
|
||||
playerctl
|
||||
python3.pkgs.pygobject3
|
||||
];
|
||||
strictDeps = false;
|
||||
|
||||
buildInputs = with lib;
|
||||
[ wayland wlroots gtkmm3 libsigcxx jsoncpp spdlog gtk-layer-shell howard-hinnant-date libxkbcommon ]
|
||||
++ optional (!stdenv.isLinux) libinotify-kqueue
|
||||
++ optional evdevSupport libevdev
|
||||
++ optional inputSupport libinput
|
||||
++ optional jackSupport libjack2
|
||||
++ optional mpdSupport libmpdclient
|
||||
++ optional nlSupport libnl
|
||||
++ optional pulseSupport libpulseaudio
|
||||
++ optional sndioSupport sndio
|
||||
++ optional swaySupport sway
|
||||
++ optional traySupport libdbusmenu-gtk3
|
||||
++ optional udevSupport udev
|
||||
++ optional upowerSupport upower
|
||||
++ optional wireplumberSupport wireplumber;
|
||||
|
||||
checkInputs = [ catch2_3 ];
|
||||
doCheck = runTests;
|
||||
|
||||
mesonFlags = (lib.mapAttrsToList
|
||||
(option: enable: "-D${option}=${if enable then "enabled" else "disabled"}")
|
||||
{
|
||||
dbusmenu-gtk = traySupport;
|
||||
jack = jackSupport;
|
||||
libinput = inputSupport;
|
||||
libnl = nlSupport;
|
||||
libudev = udevSupport;
|
||||
mpd = mpdSupport;
|
||||
pulseaudio = pulseSupport;
|
||||
rfkill = rfkillSupport;
|
||||
sndio = sndioSupport;
|
||||
tests = runTests;
|
||||
upower_glib = upowerSupport;
|
||||
wireplumber = wireplumberSupport;
|
||||
}
|
||||
) ++ [
|
||||
"-Dsystemd=disabled"
|
||||
"-Dgtk-layer-shell=enabled"
|
||||
"-Dman-pages=enabled"
|
||||
];
|
||||
|
||||
preFixup = lib.optionalString withMediaPlayer ''
|
||||
cp $src/resources/custom_modules/mediaplayer.py $out/bin/waybar-mediaplayer.py
|
||||
wrapProgram $out/bin/waybar-mediaplayer.py \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH:$out/${python3.sitePackages}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ FlorianFranzen minijackson synthetica lovesegfault ];
|
||||
platforms = platforms.unix;
|
||||
homepage = "https://github.com/alexays/waybar";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
Reference in New Issue
Block a user