From 4d39f8a635bbd1c9a93e4b7aae963919a1a14664 Mon Sep 17 00:00:00 2001 From: John Ogle Date: Thu, 19 Sep 2024 20:26:10 -0700 Subject: [PATCH] [bluetooth] Add bluetooth role --- machines/nix-book/configuration.nix | 1 + roles/bluetooth/default.nix | 32 +++++++++++++++++++++++++++++ roles/default.nix | 1 + 3 files changed, 34 insertions(+) create mode 100644 roles/bluetooth/default.nix diff --git a/machines/nix-book/configuration.nix b/machines/nix-book/configuration.nix index 5426328..b4d837e 100644 --- a/machines/nix-book/configuration.nix +++ b/machines/nix-book/configuration.nix @@ -10,6 +10,7 @@ ]; roles = { + bluetooth.enable = true; desktop.enable = true; nfs-mounts.enable = true; printing.enable = true; diff --git a/roles/bluetooth/default.nix b/roles/bluetooth/default.nix new file mode 100644 index 0000000..a45d19e --- /dev/null +++ b/roles/bluetooth/default.nix @@ -0,0 +1,32 @@ +{ lib, config, pkgs, ... }: + +with lib; + +let + cfg = config.roles.bluetooth; +in +{ + options.roles.bluetooth = { + enable = mkEnableOption "Enable the bluetooth role"; + }; + + config = + { + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + hardware.bluetooth.settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; + + services.blueman.enable = true; + + hardware.pulseaudio.package = pkgs.pulseaudioFull; + hardware.pulseaudio.extraConfig = " + load-module module-combine-sink + load-module module-switch-on-connect + "; + }; + +} diff --git a/roles/default.nix b/roles/default.nix index a57978a..7bdb84c 100644 --- a/roles/default.nix +++ b/roles/default.nix @@ -7,6 +7,7 @@ let in { imports = [ + ./bluetooth ./desktop ./kodi ./nfs-mounts