diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix index aafa2aea5200..0a59e4559b8b 100644 --- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix @@ -9,6 +9,8 @@ , python3 , vala , wrapGAppsHook4 +, elementary-gtk-theme +, elementary-icon-theme , glib , granite7 , gst_all_1 @@ -33,6 +35,24 @@ stdenv.mkDerivation rec { url = "https://github.com/elementary/music/commit/97a437edc7652e0b85b7d3c6fd87089c14ec02e2.patch"; sha256 = "sha256-VmK5dKfSKWAIxfaKXsC8tjg6Pqq1XSGxJDQOZWJX92w="; }) + # Skip invalid files instead of stopping playback + # https://github.com/elementary/music/pull/711 + (fetchpatch { + url = "https://github.com/elementary/music/commit/88f332197d2131daeff3306ec2a484a28fa4db21.patch"; + sha256 = "sha256-Zga0UmL1PAq4P58IjOuEiXGGn187a0/LHbXXze4sSpY="; + }) + # Enable the NEXT button if repeat mode is set to ALL or ONE + # https://github.com/elementary/music/pull/712 + (fetchpatch { + url = "https://github.com/elementary/music/commit/3249e3ca247dfd5ff6b14f4feeeeed63b435bcb8.patch"; + sha256 = "sha256-nx/nlSSRxu4wy8QG5yYBi0BdRoUmnyry7mwzuk5NJxU="; + }) + # Hard code GTK styles + # https://github.com/elementary/music/pull/723 + (fetchpatch { + url = "https://github.com/elementary/music/commit/4e22268d38574e56eb3b42ae201c99cc98b510db.patch"; + sha256 = "sha256-DZds7pg0vYL9vga+tP7KJHcjQTmdKHS+D+q/2aYfMmk="; + }) ]; nativeBuildInputs = [ @@ -45,6 +65,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + elementary-icon-theme glib granite7 gtk4 @@ -61,6 +82,15 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + 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 { attrPath = "pantheon.${pname}";