pkgs/pipewire-all-bluetooth: A pipewire audio sink that distributes to all Bluetooth speakers
This commit is contained in:
@@ -14,6 +14,9 @@
|
|||||||
pulse = {
|
pulse = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
configPackages = [
|
||||||
|
pkgs.pipewire-all-bluetooth
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@@ -23,6 +23,7 @@ final: prev: {
|
|||||||
nixfiles-generate-config = final.callPackage ./nixfiles/nixfiles-generate-config.nix {};
|
nixfiles-generate-config = final.callPackage ./nixfiles/nixfiles-generate-config.nix {};
|
||||||
nixfiles-generate-backup-secrets = final.callPackage ./nixfiles/nixfiles-generate-backup-secrets.nix {};
|
nixfiles-generate-backup-secrets = final.callPackage ./nixfiles/nixfiles-generate-backup-secrets.nix {};
|
||||||
nixfiles-update-ssh-host-keys = final.callPackage ./nixfiles/nixfiles-update-ssh-host-keys.nix {};
|
nixfiles-update-ssh-host-keys = final.callPackage ./nixfiles/nixfiles-update-ssh-host-keys.nix {};
|
||||||
|
pipewire-all-bluetooth = final.callPackage ./pipewire-all-bluetooth {};
|
||||||
print-afra = final.callPackage ./print-afra {};
|
print-afra = final.callPackage ./print-afra {};
|
||||||
run-with-docker-group = final.callPackage ./run-with-docker-group {};
|
run-with-docker-group = final.callPackage ./run-with-docker-group {};
|
||||||
ssh-gpg = final.callPackage ./ssh-gpg {};
|
ssh-gpg = final.callPackage ./ssh-gpg {};
|
||||||
|
29
pkgs/pipewire-all-bluetooth/all-bluetooth.conf
Normal file
29
pkgs/pipewire-all-bluetooth/all-bluetooth.conf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
context.modules = [
|
||||||
|
{ name = libpipewire-module-combine-stream
|
||||||
|
args = {
|
||||||
|
combine.mode = sink
|
||||||
|
node.name = "all-bluetooth"
|
||||||
|
node.description = "All Bluetooth devices"
|
||||||
|
combine.latency-compensate = false
|
||||||
|
combine.props = {
|
||||||
|
audio.position = [ FL FR ]
|
||||||
|
}
|
||||||
|
stream.props = {
|
||||||
|
}
|
||||||
|
stream.rules = [
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
node.name = "~bluez_output.*"
|
||||||
|
media.class = "Audio/Sink"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
actions = {
|
||||||
|
create-stream = {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
9
pkgs/pipewire-all-bluetooth/default.nix
Normal file
9
pkgs/pipewire-all-bluetooth/default.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
runCommand,
|
||||||
|
... }:
|
||||||
|
|
||||||
|
runCommand "pipewire-all-bluetooth" {} ''
|
||||||
|
mkdir -p $out/share/pipewire/pipewire.conf.d
|
||||||
|
|
||||||
|
cp ${./all-bluetooth.conf} $out/share/pipewire/pipewire.conf.d/all-bluetooth.conf
|
||||||
|
''
|
Reference in New Issue
Block a user