diff --git a/nix/overlays.nix b/nix/overlays.nix index 550045c..71656ed 100644 --- a/nix/overlays.nix +++ b/nix/overlays.nix @@ -19,13 +19,33 @@ in { default = mkJoinedOverlays (with self.overlays; [ xdg-desktop-portal-hyprland ]); - xdg-desktop-portal-hyprland = final: prev: { - xdg-desktop-portal-hyprland = final.callPackage ./default.nix { - stdenv = prev.gcc13Stdenv; - inherit (final) hyprland-protocols; - inherit (final.qt6) qtbase qttools wrapQtAppsHook qtwayland; - inherit version; - inherit (inputs.hyprlang.packages.${prev.system}) hyprlang; - }; + xdg-desktop-portal-hyprland = lib.composeManyExtensions [ + self.overlays.pipewire + (final: prev: { + xdg-desktop-portal-hyprland = final.callPackage ./default.nix { + stdenv = prev.gcc13Stdenv; + inherit (final) hyprland-protocols; + inherit (final.qt6) qtbase qttools wrapQtAppsHook qtwayland; + inherit version; + inherit (inputs.hyprlang.packages.${prev.system}) hyprlang; + }; + }) + ]; + + # TODO: remove when https://nixpk.gs/pr-tracker.html?pr=322933 lands in unstable + pipewire = final: prev: { + pipewire = prev.pipewire.overrideAttrs (self: super: { + version = "1.2.0"; + + src = final.fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "pipewire"; + repo = "pipewire"; + rev = self.version; + hash = "sha256-hjjiH7+JoyRTcdbPDvkUEpO72b5p8CbTD6Un/vZrHL8="; + }; + + mesonFlags = super.mesonFlags ++ [(final.lib.mesonEnable "snap" false)]; + }); }; }