Bluetooth: re-add device profiles
This commit is contained in:
parent
b94c88b04d
commit
e61b7af405
|
@ -35,6 +35,8 @@ in
|
||||||
tpm2.enable = true;
|
tpm2.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bluetooth.adapter = "AC:50:DE:9F:AB:88";
|
||||||
|
|
||||||
# Change the default text editor. Options are "emacs", "nano", or "vim".
|
# Change the default text editor. Options are "emacs", "nano", or "vim".
|
||||||
editor = "nano";
|
editor = "nano";
|
||||||
|
|
||||||
|
|
42
modules/apps/bluetooth/vitrix-pdp-pro
Normal file
42
modules/apps/bluetooth/vitrix-pdp-pro
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
[General]
|
||||||
|
Name=Victrix Pro BFG
|
||||||
|
Appearance=0x03c4
|
||||||
|
AddressType=public
|
||||||
|
SupportedTechnologies=LE;
|
||||||
|
Trusted=true
|
||||||
|
Blocked=false
|
||||||
|
WakeAllowed=true
|
||||||
|
Services=00001800-0000-1000-8000-00805f9b34fb;00001801-0000-1000-8000-00805f9b34fb;0000180a-0000-1000-8000-00805f9b34fb;0000180f-0000-1000-8000-00805f9b34fb;00001812-0000-1000-8000-00805f9b34fb;00001813-0000-1000-8000-00805f9b34fb;f95a48e6-a721-11e9-a2a3-022ae2dbcce4;
|
||||||
|
|
||||||
|
[LongTermKey]
|
||||||
|
Key=F12268049C72EA0561E2E77DEA02AC12
|
||||||
|
Authenticated=0
|
||||||
|
EncSize=16
|
||||||
|
EDiv=29996
|
||||||
|
Rand=5139827239406697411
|
||||||
|
|
||||||
|
[PeripheralLongTermKey]
|
||||||
|
Key=CC60B7A9080383302B61EC2127E0D5CD
|
||||||
|
Authenticated=0
|
||||||
|
EncSize=16
|
||||||
|
EDiv=59630
|
||||||
|
Rand=6653202288716901387
|
||||||
|
|
||||||
|
[SlaveLongTermKey]
|
||||||
|
Key=CC60B7A9080383302B61EC2127E0D5CD
|
||||||
|
Authenticated=0
|
||||||
|
EncSize=16
|
||||||
|
EDiv=59630
|
||||||
|
Rand=6653202288716901387
|
||||||
|
|
||||||
|
[DeviceID]
|
||||||
|
Source=2
|
||||||
|
Vendor=3695
|
||||||
|
Product=587
|
||||||
|
Version=768
|
||||||
|
|
||||||
|
[ConnectionParameters]
|
||||||
|
MinInterval=6
|
||||||
|
MaxInterval=6
|
||||||
|
Latency=0
|
||||||
|
Timeout=300
|
|
@ -14,9 +14,12 @@ let
|
||||||
sudo systemctl restart bluetooth.service
|
sudo systemctl restart bluetooth.service
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# FIXME: replace with real vendorID and product ID for Victrix Pro BFG controller
|
# vendorID and product ID for Victrix Pro BFG controller
|
||||||
vendorID = "0e6f";
|
vendorID = "0e6f";
|
||||||
productID = "024b";
|
productID = "024b";
|
||||||
|
|
||||||
|
# Bluetooth config for Victrix PDP pro
|
||||||
|
vitrix-pdp-pro-bluetooth = pkgs.writeText "info" (builtins.readFile ./bluetooth/vitrix-pdp-pro);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
|
@ -36,6 +39,11 @@ in
|
||||||
# Enable Xbox controller driver (XPadNeo)
|
# Enable Xbox controller driver (XPadNeo)
|
||||||
hardware.xpadneo.enable = true;
|
hardware.xpadneo.enable = true;
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = lib.mkIf config.aux.system.bluetooth.enable [
|
||||||
|
"d /var/lib/bluetooth/${config.aux.system.bluetooth.adapter}/ 0700 root root" # First, make sure the directory exists
|
||||||
|
"L+ /var/lib/bluetooth/${config.aux.system.bluetooth.adapter}/00:34:30:47:37:AB/info - - - - ${vitrix-pdp-pro-bluetooth}"
|
||||||
|
];
|
||||||
|
|
||||||
# Create udev rule to force PDP Victrix controller to use xpadneo
|
# Create udev rule to force PDP Victrix controller to use xpadneo
|
||||||
# Udev rule taken from https://github.com/atar-axis/xpadneo/blob/master/hid-xpadneo/etc-udev-rules.d/60-xpadneo.rules
|
# Udev rule taken from https://github.com/atar-axis/xpadneo/blob/master/hid-xpadneo/etc-udev-rules.d/60-xpadneo.rules
|
||||||
# Also see https://www.reddit.com/r/linuxquestions/comments/rcx182/why_cant_i_write_to_sysbushiddriversxpadneonew_id/
|
# Also see https://www.reddit.com/r/linuxquestions/comments/rcx182/why_cant_i_write_to_sysbushiddriversxpadneonew_id/
|
||||||
|
|
|
@ -8,12 +8,20 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.aux.system.bluetooth;
|
cfg = config.aux.system.bluetooth;
|
||||||
|
|
||||||
|
# Copy bluetooth device configs
|
||||||
|
shure-aonic-bluetooth = pkgs.writeText "info" (builtins.readFile ./bluetooth/shure-aonic-tw2);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
aux.system.bluetooth = {
|
aux.system.bluetooth = {
|
||||||
enable = lib.mkEnableOption "Enables bluetooth.";
|
enable = lib.mkEnableOption "Enables bluetooth.";
|
||||||
|
adapter = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "The MAC address of your primary Bluetooth adapter Used to install device configs.";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
experimental.enable = lib.mkEnableOption "Enables experimental features, like device power reporting.";
|
experimental.enable = lib.mkEnableOption "Enables experimental features, like device power reporting.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -34,5 +42,11 @@ in
|
||||||
|
|
||||||
# Add Bluetooth LE audio support
|
# Add Bluetooth LE audio support
|
||||||
environment.systemPackages = with pkgs; [ liblc3 ];
|
environment.systemPackages = with pkgs; [ liblc3 ];
|
||||||
|
|
||||||
|
# Install Bluetooth device profiles
|
||||||
|
systemd.tmpfiles.rules = lib.mkIf (cfg.adapter != "") [
|
||||||
|
"d /var/lib/bluetooth/${cfg.adapter}/ 0700 root root" # First, make sure the directory exists
|
||||||
|
"L+ /var/lib/bluetooth/${cfg.adapter}/00:0E:DD:72:2F:0C/info - - - - ${shure-aonic-bluetooth}"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
19
modules/system/bluetooth/shure-aonic-tw2
Normal file
19
modules/system/bluetooth/shure-aonic-tw2
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[General]
|
||||||
|
Name=Shure AONIC TW2
|
||||||
|
Class=0x2c0404
|
||||||
|
SupportedTechnologies=BR/EDR;LE;
|
||||||
|
Trusted=true
|
||||||
|
Blocked=false
|
||||||
|
Services=00001101-0000-1000-8000-00805f9b34fb;00001108-0000-1000-8000-00805f9b34fb;0000110a-0000-1000-8000-00805f9b34fb;0000110b-0000-1000-8000-00805f9b34fb;0000110c-0000-1000-8000-00805f9b34fb;0000110d-0000-1000-8000-00805f9b34fb;0000110e-0000-1000-8000-00805f9b34fb;0000111e-0000-1000-8000-00805f9b34fb;0000eb03-d102-11e1-9b23-00025b00a5a5;0000eb04-d102-11e1-9b23-00025b00a5a5;0000eb05-d102-11e1-9b23-00025b00a5a5;
|
||||||
|
AddressType=public
|
||||||
|
|
||||||
|
[LinkKey]
|
||||||
|
Key=DFC42899B038D6C6B1296CF98DB0508A
|
||||||
|
Type=4
|
||||||
|
PINLength=0
|
||||||
|
|
||||||
|
[ConnectionParameters]
|
||||||
|
MinInterval=24
|
||||||
|
MaxInterval=40
|
||||||
|
Latency=0
|
||||||
|
Timeout=400
|
|
@ -1,5 +1,13 @@
|
||||||
{ lib, osConfig, ... }:
|
{ lib, osConfig, ... }:
|
||||||
{
|
{
|
||||||
|
# NOTE: Allegedly prevents random Gnome crashes. But really, it just prevents me from logging in.
|
||||||
|
# See https://www.reddit.com/r/archlinux/comments/1erbika/fyi_if_you_experience_crashes_on_gnome_on_amd/
|
||||||
|
/*
|
||||||
|
home.file.".config/environment.d/99-mutter-no-rt.conf".text = ''
|
||||||
|
MUTTER_DEBUG_KMS_THREAD_TYPE=user;
|
||||||
|
'';
|
||||||
|
*/
|
||||||
|
|
||||||
# Additional Gnome configurations via home-manager.
|
# Additional Gnome configurations via home-manager.
|
||||||
dconf.settings = lib.mkIf osConfig.aux.system.ui.desktops.gnome.enable {
|
dconf.settings = lib.mkIf osConfig.aux.system.ui.desktops.gnome.enable {
|
||||||
"org/gnome/mutter" = {
|
"org/gnome/mutter" = {
|
||||||
|
|
Loading…
Reference in a new issue