hardware: Add bluetooth support

This commit is contained in:
Donovan Glover 2024-06-13 05:14:19 -04:00
parent ce5f3ea6d7
commit 996f36e239
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
2 changed files with 6 additions and 1 deletions

View File

@ -15,6 +15,7 @@ in
disableLaptopKeyboard = true;
lidIgnore = true;
powerIgnore = true;
bluetooth = true;
};
system = {

View File

@ -4,7 +4,7 @@ let
inherit (lib) mkEnableOption mkIf getExe singleton;
inherit (pkgs) piper interception-tools;
inherit (pkgs.interception-tools-plugins) dual-function-keys;
inherit (cfg) mouseSettings disableLaptopKeyboard lidIgnore powerIgnore keyboardBinds;
inherit (cfg) mouseSettings disableLaptopKeyboard lidIgnore powerIgnore keyboardBinds bluetooth;
inherit (builtins) toJSON;
dualFunctionKeysConfig = "dual-function-keys.yaml";
@ -15,14 +15,18 @@ in
options.modules.hardware = {
keyboardBinds = mkEnableOption "start button for rofi, caps lock as escape, etc.";
mouseSettings = mkEnableOption "piper for gaming mice";
bluetooth = mkEnableOption "bluetooth support";
disableLaptopKeyboard = mkEnableOption "udev rule to disable laptop keyboard";
lidIgnore = mkEnableOption "ignoring the laptop lid on close";
powerIgnore = mkEnableOption "ignoring the power button on press";
};
config = {
hardware.bluetooth.enable = mkIf bluetooth true;
services = {
ratbagd.enable = mkIf mouseSettings true;
blueman.enable = mkIf bluetooth true;
udev.extraRules = mkIf disableLaptopKeyboard ''
KERNEL=="event*", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{LIBINPUT_IGNORE_DEVICE}="1"