{ lib , stdenv , fetchFromGitHub , nix-update-script , meson , ninja , pkg-config , vala , wrapGAppsHook4 , elementary-gtk-theme , elementary-icon-theme , glib , granite7 , gst_all_1 , gtk4 , libadwaita }: stdenv.mkDerivation rec { pname = "elementary-music"; version = "8.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = "music"; rev = version; sha256 = "sha256-pqOAeHTFWSoJqXE9UCUkVIy5T7EoYsieJ4PMU1oX9ko="; }; nativeBuildInputs = [ meson ninja pkg-config vala wrapGAppsHook4 ]; buildInputs = [ elementary-icon-theme glib granite7 gtk4 libadwaita ] ++ (with gst_all_1; [ gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly gstreamer ]); preFixup = '' gappsWrapperArgs+=( # The GTK theme is hardcoded. --prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share" # The icon theme is hardcoded. --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" ) ''; passthru = { updateScript = nix-update-script { }; }; meta = with lib; { description = "Music player and library designed for elementary OS"; homepage = "https://github.com/elementary/music"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = teams.pantheon.members; mainProgram = "io.elementary.music"; }; }