{ lib , stdenv , fetchFromGitHub , testers , wrapGAppsHook , bash-completion , dbus , dbus-glib , fish , gdk-pixbuf , glib , gobject-introspection , gtk-layer-shell , gtk3 , gvfs , json-glib , libgee , libhandy , libnotify , libpulseaudio , librsvg , meson , ninja , pkg-config , python3 , scdoc , vala , xvfb-run , sassc , pantheon }: stdenv.mkDerivation (finalAttrs: rec { pname = "SwayNotificationCenter"; version = "0.10.1"; src = fetchFromGitHub { owner = "ErikReider"; repo = pname; rev = "v${version}"; hash = "sha256-SR3FfEit50y4XSCLh3raUoigRNXpxh0mk4qLhQ/FozM="; }; # build pkg-config is required to locate the native `scdoc` input depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ bash-completion # cmake # currently conflicts with meson fish glib gobject-introspection meson ninja pkg-config python3 sassc scdoc vala wrapGAppsHook ]; buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 gvfs json-glib libgee libhandy libnotify libpulseaudio librsvg pantheon.granite # systemd # ends with broken permission ]; postPatch = '' chmod +x build-aux/meson/postinstall.py patchShebangs build-aux/meson/postinstall.py substituteInPlace src/functions.vala --replace "/usr/local/etc/xdg/swaync" "$out/etc/xdg/swaync" ''; passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; command = "${xvfb-run}/bin/xvfb-run swaync --version"; }; meta = with lib; { description = "Simple notification daemon with a GUI built for Sway"; homepage = "https://github.com/ErikReider/SwayNotificationCenter"; changelog = "https://github.com/ErikReider/SwayNotificationCenter/releases/tag/v${version}"; license = licenses.gpl3; platforms = platforms.linux; mainProgram = "swaync"; maintainers = with maintainers; [ berbiche pedrohlc ]; }; })