DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

ref: ba8b726b9073444ad8c86d2e87e4ac28e91fff7b nix-arta/roles/bluetooth.nix -rw-r--r-- 709 bytes
ba8b726bJonni Liljamo feat: add cloud 2 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
  config,
  lib,
  ...
}: let
  cfg = config.roles.bluetooth;
in {
  options.roles.bluetooth = {
    enable = lib.mkEnableOption "enable bluetooth";
    enableHDAudio = lib.mkEnableOption "enable HD audio for bluetooth";
  };

  config = lib.mkIf cfg.enable {
    hardware.bluetooth.enable = true;
    services.blueman.enable = true;

    services.pipewire.wireplumber.extraConfig = lib.mkIf cfg.enableHDAudio {
      bluetoothEnhancements = {
        "monitor.bluez.properties" = {
          "bluez5.enable-sbc-xq" = true;
          "bluez5.enable-msbc" = true;
          "bluez5.enable-hw-volume" = true;
          "bluez5.roles" = ["hsp_hs" "hsp_ag" "hfp_hf" "hfp_ag"];
        };
      };
    };
  };
}