1
Fork 0
satellite/modules/bluetooth.nix

49 lines
1.4 KiB
Nix
Raw Normal View History

# Taken from https://nixos.wiki/wiki/Bluetooth
{ pkgs, ... }: {
hardware.bluetooth = {
enable = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
};
};
};
services.blueman.enable = true;
# TODO: investigate why this does not work
# systemd.user.services.mpris-proxy = {
# Unit.Description = "Mpris proxy";
# Unit.After = [ "network.target" "sound.target" ];
# Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
# Install.WantedBy = [ "default.target" ];
# };
hardware = {
pulseaudio = {
enable = true;
# NixOS allows either a lightweight build (default) or full build of PulseAudio to be installed.
# Only the full build has Bluetooth support, so it must be selected here.
package = pkgs.pulseaudioFull;
# Extra codecs
extraModules = [ pkgs.pulseaudio-modules-bt ];
configFile = pkgs.writeText "default.pa" ''
load-module module-bluetooth-policy
load-module module-bluetooth-discover
## module fails to load with
## module-bluez5-device.c: Failed to get device path from module arguments
## module.c: Failed to load module "module-bluez5-device" (argument: ""): initialization failed.
# load-module module-bluez5-device
# load-module module-bluez5-discover
'';
extraConfig = ''
load-module module-switch-on-connect
'';
};
};
}