nixos/pipewire: add bluez hardware database
(cherry picked from commit ef532a04436001249a7c24e13c628e970791dc7f) Signed-off-by: Domen Kožar <domen@dev.si>
This commit is contained in:
parent
4ef889251c
commit
7be67825c8
|
@ -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": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -15,6 +15,7 @@ let
|
||||||
defaults = {
|
defaults = {
|
||||||
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
|
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
|
||||||
bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-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));
|
media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
|
||||||
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
||||||
};
|
};
|
||||||
|
@ -22,6 +23,7 @@ let
|
||||||
configs = {
|
configs = {
|
||||||
alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
|
alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
|
||||||
bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-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;
|
media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
|
||||||
v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
|
v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
|
||||||
};
|
};
|
||||||
|
@ -120,6 +122,10 @@ in {
|
||||||
mkIf config.services.pipewire.pulse.enable {
|
mkIf config.services.pipewire.pulse.enable {
|
||||||
source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
|
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" =
|
environment.etc."pipewire/media-session.d/with-jack" =
|
||||||
mkIf config.services.pipewire.jack.enable {
|
mkIf config.services.pipewire.jack.enable {
|
||||||
|
|
|
@ -192,6 +192,7 @@ let
|
||||||
paths-out-media-session = [
|
paths-out-media-session = [
|
||||||
"nix-support/etc/pipewire/media-session.d/alsa-monitor.conf.json"
|
"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-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/media-session.conf.json"
|
||||||
"nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
|
"nix-support/etc/pipewire/media-session.d/v4l2-monitor.conf.json"
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue