From fd5d487ef4490d5ac9cdeed8130748ccc3b2bc2b Mon Sep 17 00:00:00 2001
From: misuzu <bakalolka@gmail.com>
Date: Wed, 23 Jun 2021 11:29:41 +0300
Subject: [PATCH 01/10] binutils: apply R_ARM_COPY.patch only when
 cross-compiling to armv7l

Applying R_ARM_COPY.patch when not cross-compiling breaks native armv7l builds.

(cherry picked from commit 5aad70e8beb98a1c855facea5c9749f644e8b897)
---
 pkgs/development/tools/misc/binutils/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 8042655a859..a4233886a85 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
        # indeed GHC will refuse to compile with a binutils suffering from it. See
        # this comment for more information:
        # https://gitlab.haskell.org/ghc/ghc/issues/4210#note_78333
-       lib.optional stdenv.targetPlatform.isAarch32 ./R_ARM_COPY.patch;
+       lib.optional (stdenv.targetPlatform.isAarch32 && stdenv.hostPlatform.system != stdenv.targetPlatform.system) ./R_ARM_COPY.patch;
 
   outputs = [ "out" "info" "man" ];
 

From 4ef889251caf6524033423d5540cd7956986c688 Mon Sep 17 00:00:00 2001
From: arcnmx <arcnmx@users.noreply.github.com>
Date: Mon, 28 Jun 2021 11:06:44 -0700
Subject: [PATCH 02/10] pipewire: 0.3.30 -> 0.3.31
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit eb7e40f9c9bbf0d9f54d0a65722480abcd28c9d0)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 nixos/modules/services/desktops/pipewire/jack.conf.json  | 2 +-
 .../pipewire/0055-pipewire-media-session-path.patch      | 7 ++-----
 .../pipewire/0090-pipewire-config-template-paths.patch   | 8 ++++----
 pkgs/development/libraries/pipewire/default.nix          | 9 +++++++--
 4 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/nixos/modules/services/desktops/pipewire/jack.conf.json b/nixos/modules/services/desktops/pipewire/jack.conf.json
index a6bd3491785..e36e04fffcf 100644
--- a/nixos/modules/services/desktops/pipewire/jack.conf.json
+++ b/nixos/modules/services/desktops/pipewire/jack.conf.json
@@ -7,7 +7,7 @@
   },
   "context.modules": [
     {
-      "name": "libpipewire-module-rtkit",
+      "name": "libpipewire-module-rt",
       "args": {},
       "flags": [
         "ifexists",
diff --git a/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch b/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
index be6683c3e7b..8290aec5dfc 100644
--- a/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
+++ b/pkgs/development/libraries/pipewire/0055-pipewire-media-session-path.patch
@@ -2,16 +2,13 @@ diff --git a/meson_options.txt b/meson_options.txt
 index 93b5e2a9..1b915ac3 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -13,6 +13,9 @@ option('media-session',
-        description: 'Build and install pipewire-media-session',
+@@ -200,3 +200,6 @@ option('media-session',
         type: 'feature',
         value: 'auto')
 +option('media-session-prefix',
 +       description: 'Install directory for pipewire-media-session and its support files',
 +       type: 'string')
- option('man',
-        description: 'Build manpages',
-        type: 'feature',
+ option('session-managers',
 diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
 index 1edebb2d..251270eb 100644
 --- a/src/daemon/systemd/user/meson.build
diff --git a/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch b/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
index 966cb957977..1f1a98780e9 100644
--- a/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
+++ b/pkgs/development/libraries/pipewire/0090-pipewire-config-template-paths.patch
@@ -6,8 +6,8 @@ index bbafa134..227d3e06 100644
              # access.allowed to list an array of paths of allowed
              # apps.
              #access.allowed = [
--            #    @media_session_path@
-+            #    <media_session_path>
+-            #    @session_manager_path@
++            #    <session_manager_path>
              #]
  
              # An array of rejected paths.
@@ -15,8 +15,8 @@ index bbafa134..227d3e06 100644
      # but it is better to start it as a systemd service.
      # Run the session manager with -h for options.
      #
--    @comment@{ path = "@media_session_path@"  args = "" }
-+    @comment@{ path = "<media_session_path>"  args = "" }
+-    @comment@{ path = "@session_manager_path@"  args = "@session_manager_args@" }
++    @comment@{ path = "<session_manager_path>"  args = "@session_manager_args@" }
      #
      # You can optionally start the pulseaudio-server here as well
      # but it is better to start it as a systemd service.
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index b8fb216e358..7e6b2983245 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -14,6 +14,7 @@
 , dbus
 , alsaLib
 , libjack2
+, libusb1
 , udev
 , libva
 , libsndfile
@@ -43,10 +44,11 @@ let
   };
 
   mesonEnable = b: if b then "enabled" else "disabled";
+  mesonList = l: "[" + lib.concatStringsSep "," l + "]";
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.30";
+    version = "0.3.31";
 
     outputs = [
       "out"
@@ -64,7 +66,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-DnaPvZoDaegjtJNKBmCJEAZe5FQBnSER79FPnxiWQUE=";
+      sha256 = "1dirz69ami7bcgy6hhh0ffi9gzwcy9idg94nvknwvwkjw4zm8m79";
     };
 
     patches = [
@@ -96,6 +98,7 @@ let
       dbus
       glib
       libjack2
+      libusb1
       libsndfile
       ncurses
       udev
@@ -122,6 +125,7 @@ let
       "-Dmedia-session-prefix=${placeholder "mediaSession"}"
       "-Dlibjack-path=${placeholder "jack"}/lib"
       "-Dlibcamera=disabled"
+      "-Droc=disabled"
       "-Dlibpulse=${mesonEnable pulseTunnelSupport}"
       "-Davahi=${mesonEnable zeroconfSupport}"
       "-Dgstreamer=${mesonEnable gstreamerSupport}"
@@ -133,6 +137,7 @@ let
       "-Dbluez5-backend-hsphfpd=${mesonEnable hsphfpdSupport}"
       "-Dsysconfdir=/etc"
       "-Dpipewire_confdata_dir=${placeholder "lib"}/share/pipewire"
+      "-Dsession-managers=${mesonList (lib.optional withMediaSession "media-session")}"
     ];
 
     FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file

From 7be67825c872c643df34ccc6508a0605c5cd9b9b Mon Sep 17 00:00:00 2001
From: arcnmx <arcnmx@users.noreply.github.com>
Date: Mon, 28 Jun 2021 11:07:38 -0700
Subject: [PATCH 03/10] nixos/pipewire: add bluez hardware database
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit ef532a04436001249a7c24e13c628e970791dc7f)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 .../pipewire/bluez-hardware.conf.json         | 197 ++++++++++++++++++
 .../pipewire/pipewire-media-session.nix       |   6 +
 .../libraries/pipewire/default.nix            |   1 +
 3 files changed, 204 insertions(+)
 create mode 100644 nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json

diff --git a/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json b/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
new file mode 100644
index 00000000000..7c527b29215
--- /dev/null
+++ b/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
@@ -0,0 +1,197 @@
+{
+  "bluez5.features.device": [
+    {
+      "name": "Air 1 Plus",
+      "no-features": [
+        "hw-volume-mic"
+      ]
+    },
+    {
+      "name": "AirPods",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "AirPods Pro",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "AXLOIE Goin",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "JBL Endurance RUN BT",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl",
+        "sbc-xq"
+      ]
+    },
+    {
+      "name": "JBL LIVE650BTNC"
+    },
+    {
+      "name": "Soundcore Life P2-L",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "name": "Urbanista Stockholm Plus",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "address": "~^94:16:25:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^9c:64:8b:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^a0:e9:db:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^0c:a6:94:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:14:02:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^44:5e:f3:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^d4:9c:28:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:18:6b:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^b8:ad:3e:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^a0:e9:db:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:24:1c:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:11:b1:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^a4:15:66:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:14:f1:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^00:26:7e:",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
+    {
+      "address": "~^90:03:b7:",
+      "no-features": [
+        "hw-volume"
+      ]
+    }
+  ],
+  "bluez5.features.adapter": [
+    {
+      "bus-type": "usb",
+      "vendor-id": "usb:0bda"
+    },
+    {
+      "bus-type": "usb",
+      "no-features": [
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "no-features": [
+        "msbc-alt1-rtl"
+      ]
+    }
+  ],
+  "bluez5.features.kernel": [
+    {
+      "sysname": "Linux",
+      "release": "~^[0-4]\\.",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.[1-7]\\.",
+      "no-features": [
+        "msbc-alt1",
+        "msbc-alt1-rtl"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.(8|9|10)\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "no-features": []
+    }
+  ]
+}
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 17a2d49bb1f..41ab995e329 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -15,6 +15,7 @@ let
   defaults = {
     alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
     bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
+    bluez-hardware = (builtins.fromJSON (builtins.readFile ./bluez-hardware.conf.json));
     media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
     v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
   };
@@ -22,6 +23,7 @@ let
   configs = {
     alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
     bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor;
+    bluez-hardware = defaults.bluez-hardware;
     media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
     v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
   };
@@ -120,6 +122,10 @@ in {
       mkIf config.services.pipewire.pulse.enable {
         source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
       };
+    environment.etc."pipewire/media-session.d/bluez-hardware.conf" =
+      mkIf config.services.pipewire.pulse.enable {
+        source = json.generate "bluez-hardware.conf" configs.bluez-hardware;
+      };
 
     environment.etc."pipewire/media-session.d/with-jack" =
       mkIf config.services.pipewire.jack.enable {
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 7e6b2983245..b2bf26ead30 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -192,6 +192,7 @@ let
           paths-out-media-session = [
             "nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
             "nix-support/etc/pipewire/media-session.d/bluez-monitor.conf.json"
+            "nix-support/etc/pipewire/media-session.d/bluez-hardware.conf.json"
             "nix-support/etc/pipewire/media-session.d/media-session.conf.json"
             "nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
           ];

From c7da07623e5e5e4d0e79b49b1e64bbb079819bb0 Mon Sep 17 00:00:00 2001
From: Jan Solanti <jhs@psonet.com>
Date: Wed, 21 Jul 2021 23:44:21 +0300
Subject: [PATCH 04/10] pipewire: 0.3.31 -> 0.3.32
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit c6ff26b19fa083e111005d06e8a4a15625976e66)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 pkgs/development/libraries/pipewire/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index b2bf26ead30..bf0ad5ef9fe 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -48,7 +48,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.31";
+    version = "0.3.32";
 
     outputs = [
       "out"
@@ -66,7 +66,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "1dirz69ami7bcgy6hhh0ffi9gzwcy9idg94nvknwvwkjw4zm8m79";
+      sha256 = "0f5hkypiy1qjqj3frzz128668hzbi0fqmj0j21z7rp51y62dapnp";
     };
 
     patches = [

From 02a8bdcdc9475fcc7cd6ce484f4fd4025ecb8632 Mon Sep 17 00:00:00 2001
From: Ilan Joselevich <personal@ilanjoselevich.com>
Date: Fri, 6 Aug 2021 13:02:57 +0300
Subject: [PATCH 05/10] pipewire: 0.3.32 -> 0.3.33
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit dab7fef97b0308d413142a5feb6f4e934714a294)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 pkgs/development/libraries/pipewire/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index bf0ad5ef9fe..81d6017cb34 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -48,7 +48,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.32";
+    version = "0.3.33";
 
     outputs = [
       "out"
@@ -66,7 +66,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "0f5hkypiy1qjqj3frzz128668hzbi0fqmj0j21z7rp51y62dapnp";
+      sha256 = "sha256-HP2HcGjrLw0+8pO1upvJQk32v+bifYpi5Rtod0TbBis=";
     };
 
     patches = [

From 06d377ce0a055839d1bb531dcfb1e0684569b364 Mon Sep 17 00:00:00 2001
From: Ilan Joselevich <personal@ilanjoselevich.com>
Date: Fri, 6 Aug 2021 13:35:12 +0300
Subject: [PATCH 06/10] pipewire: libopenaptx -> libfreeaptx
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit 549666bd96189f7aefafcf1b413eea05c42ab0a4)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 pkgs/development/libraries/pipewire/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 81d6017cb34..577cb51ede2 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -29,7 +29,7 @@
 , withMediaSession ? true
 , gstreamerSupport ? true, gst_all_1 ? null
 , ffmpegSupport ? true, ffmpeg ? null
-, bluezSupport ? true, bluez ? null, sbc ? null, libopenaptx ? null, ldacbt ? null, fdk_aac ? null
+, bluezSupport ? true, bluez ? null, sbc ? null, libfreeaptx ? null, ldacbt ? null, fdk_aac ? null
 , nativeHspSupport ? true
 , nativeHfpSupport ? true
 , ofonoSupport ? true
@@ -110,7 +110,7 @@ let
       systemd
     ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
     ++ lib.optional ffmpegSupport ffmpeg
-    ++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ]
+    ++ lib.optionals bluezSupport [ bluez libfreeaptx ldacbt sbc fdk_aac ]
     ++ lib.optional pulseTunnelSupport libpulseaudio
     ++ lib.optional zeroconfSupport avahi;
 

From 5b229b829af4515994789979f32448a7be588ef7 Mon Sep 17 00:00:00 2001
From: Ilan Joselevich <personal@ilanjoselevich.com>
Date: Fri, 6 Aug 2021 13:33:04 +0300
Subject: [PATCH 07/10] libfreeaptx: init at 0.1.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit b0467a4f53527434211175ec236f2b43205e2568)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 .../libraries/libfreeaptx/default.nix         | 31 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 33 insertions(+)
 create mode 100644 pkgs/development/libraries/libfreeaptx/default.nix

diff --git a/pkgs/development/libraries/libfreeaptx/default.nix b/pkgs/development/libraries/libfreeaptx/default.nix
new file mode 100644
index 00000000000..9e30973f199
--- /dev/null
+++ b/pkgs/development/libraries/libfreeaptx/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "libfreeaptx";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "iamthehorker";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-eEUhOrKqb2hHWanY+knpY9FBEnjkkFTB+x6BZgMBpbo=";
+  };
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    # disable static builds
+    "ANAME="
+    "AOBJECTS="
+    "STATIC_UTILITIES="
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Free Implementation of Audio Processing Technology codec (aptX)";
+    license = licenses.lgpl21Plus;
+    homepage = "https://github.com/iamthehorker/libfreeaptx";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8c62b879a31..75fc8f3e8d6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -16099,6 +16099,8 @@ in
 
   libffi = callPackage ../development/libraries/libffi { };
 
+  libfreeaptx = callPackage ../development/libraries/libfreeaptx { };
+
   libfreefare = callPackage ../development/libraries/libfreefare {
     inherit (darwin) libobjc;
   };

From 1472b2446e3358098ace176cd7accdb9264d2fad Mon Sep 17 00:00:00 2001
From: Ilan Joselevich <personal@ilanjoselevich.com>
Date: Fri, 6 Aug 2021 13:44:21 +0300
Subject: [PATCH 08/10] pipewire: added kranzes (myself) as a maintainer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit 779472d9bcc518fdb01c01424b2a469dc39694ee)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 pkgs/development/libraries/pipewire/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 577cb51ede2..8988743d33e 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -209,7 +209,7 @@ let
       homepage = "https://pipewire.org/";
       license = licenses.mit;
       platforms = platforms.linux;
-      maintainers = with maintainers; [ jtojnar ];
+      maintainers = with maintainers; [ jtojnar kranzes ];
     };
   };
 

From 45ea565f6de39c1b8434e6c838ae7556e688ae2f Mon Sep 17 00:00:00 2001
From: Ilan Joselevich <personal@ilanjoselevich.com>
Date: Fri, 6 Aug 2021 16:50:56 +0300
Subject: [PATCH 09/10] pipewire: updated JSON configs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit a876500f5db7f7827c14d1d5b195186613c20a29)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 .../pipewire/bluez-hardware.conf.json         | 35 +++++++++++++++++++
 .../services/desktops/pipewire/jack.conf.json | 12 ++++++-
 .../desktops/pipewire/media-session.conf.json |  1 +
 3 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json b/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
index 7c527b29215..cae9e1bdba0 100644
--- a/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
+++ b/nixos/modules/services/desktops/pipewire/bluez-hardware.conf.json
@@ -27,6 +27,12 @@
         "msbc-alt1-rtl"
       ]
     },
+    {
+      "name": "BAA 100",
+      "no-features": [
+        "hw-volume"
+      ]
+    },
     {
       "name": "JBL Endurance RUN BT",
       "no-features": [
@@ -190,6 +196,35 @@
         "msbc-alt1"
       ]
     },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.12\\.(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17)($|[^0-9])"
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.12\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.13\\.(1|2)($|[^0-9])"
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.13\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
+    {
+      "sysname": "Linux",
+      "release": "~^5\\.14\\.",
+      "no-features": [
+        "msbc-alt1"
+      ]
+    },
     {
       "no-features": []
     }
diff --git a/nixos/modules/services/desktops/pipewire/jack.conf.json b/nixos/modules/services/desktops/pipewire/jack.conf.json
index e36e04fffcf..128178bfa02 100644
--- a/nixos/modules/services/desktops/pipewire/jack.conf.json
+++ b/nixos/modules/services/desktops/pipewire/jack.conf.json
@@ -24,5 +24,15 @@
       "name": "libpipewire-module-metadata"
     }
   ],
-  "jack.properties": {}
+  "jack.properties": {},
+  "jack.rules": [
+    {
+      "matches": [
+        {}
+      ],
+      "actions": {
+        "update-props": {}
+      }
+    }
+  ]
 }
diff --git a/nixos/modules/services/desktops/pipewire/media-session.conf.json b/nixos/modules/services/desktops/pipewire/media-session.conf.json
index 24906e767d6..4b4e302af38 100644
--- a/nixos/modules/services/desktops/pipewire/media-session.conf.json
+++ b/nixos/modules/services/desktops/pipewire/media-session.conf.json
@@ -59,6 +59,7 @@
     "with-pulseaudio": [
       "with-audio",
       "bluez5",
+      "bluez5-autoswitch",
       "logind",
       "restore-stream",
       "streams-follow-default"

From 3ca9226b93a358896a81e993176522f14e6c8ec3 Mon Sep 17 00:00:00 2001
From: Ilan Joselevich <personal@ilanjoselevich.com>
Date: Thu, 8 Jul 2021 15:55:45 +0300
Subject: [PATCH 10/10] maintainers: add kranzes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(cherry picked from commit dff520a9e0fc8d60f3cc6543cb32d4bd66010f4d)
Signed-off-by: Domen Kožar <domen@dev.si>
---
 maintainers/maintainer-list.nix | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index eb42ca53cd2..08a24a4f348 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5417,6 +5417,12 @@
     githubId = 735008;
     name = "Louis Taylor";
   };
+  kranzes = {
+    email = "personal@ilanjoselevich.com";
+    github = "Kranzes";
+    githubId = 56614642;
+    name = "Ilan Joselevich";
+  };
   krav = {
     email = "kristoffer@microdisko.no";
     github = "krav";