Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Pairing an Xbox Wireless Controller over Bluetooth (LE HoG) on stock
bluez 5.86 failed with "Connection terminated due to authentication
failure" on every connection attempt after pair. Enable xpadneo so the
hid_xpadneo driver handles the controller, and add two bluez tweaks
that resolve the LE auth loop:
* JustWorksRepairing = always: accept fresh pairings without requiring
a manual remove of the prior bond.
* Privacy = device: pin the host BT address so the controller's stored
bond key isn't invalidated when bluez rotates resolvable addresses.
Assisted-by: Claude Code (claude-opus-4-7[1m])
Upstream 634a4408c061 ("Bluetooth: btmtk: validate WMT event SKB
length before struct access"), backported into 7.0.7, rejects the
shorter WMT FUNC_CTRL events MT7925 firmware actually sends, leaving
hci0 stuck DOWN with "Failed to send wmt func ctrl (-22)".
Apply upstream e3ac0d9f1a20 ("Bluetooth: btmtk: accept too short
WMT FUNC_CTRL events") on top of linux_latest until the fix is
backported into linux-7.0.y stable. Remove this override once nixpkgs
ships a kernel that already contains the fix.
Assisted-by: Claude Code (claude-opus-4-7[1m])
Was killing remote tmux sessions the moment all ssh clients detached —
the actual cause of "tmux dies when everyone disconnects from neoprism".
Linger/KillUserProcesses were red herrings; tmux itself was tearing
the sessions down from inside.
Assisted-by: Claude Code (claude-opus-4-7)
Without lingering, systemd-logind tears down user@1337.service when the
last session disconnects, killing tmux along with the user slice. The
KillUserProcesses=no setting only prevents logind from explicitly killing
scope leftovers — it does not keep the user manager alive.
Assisted-by: Claude Code (claude-opus-4-7)