Update bluetooth config

This commit is contained in:
ItsDrike 2024-06-24 00:27:54 +02:00
parent 760af68c1d
commit 5cace9f1c0
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
5 changed files with 25 additions and 8 deletions

View file

@ -30,7 +30,6 @@
username = "itsdrike"; username = "itsdrike";
sound.enable = true; sound.enable = true;
bluetooth.enable = true;
impermanence = { impermanence = {
root = { root = {
@ -61,6 +60,7 @@
cpu.type = "amd"; cpu.type = "amd";
gpu.type = "hybrid-nvidia"; gpu.type = "hybrid-nvidia";
hasTPM = true; hasTPM = true;
bluetooth.enable = true;
}; };
security = { security = {

View file

@ -35,7 +35,6 @@
username = "itsdrike"; username = "itsdrike";
sound.enable = true; sound.enable = true;
bluetooth.enable = true;
impermanence = { impermanence = {
root = { root = {
@ -115,6 +114,7 @@
cpu.type = "amd"; cpu.type = "amd";
gpu.type = "amd"; gpu.type = "amd";
hasTPM = true; hasTPM = true;
bluetooth.enable = true;
}; };
security = { security = {

View file

@ -1,4 +1,5 @@
{ lib, ... }: with lib; let { lib, ... }: let
inherit (lib) mkOption mkEnableOption types;
in in
{ {
options.myOptions.device = { options.myOptions.device = {
@ -34,9 +35,25 @@ in
}; };
hasTPM = mkOption { hasTPM = mkOption {
type = lib.types.bool; type = types.bool;
default = false; default = false;
description = "Does this device have a TPM (Trusted Platform Module)?"; description = "Does this device have a TPM (Trusted Platform Module)?";
}; };
bluetooth = {
enable = mkEnableOption "bluetooth modules, drivers and configuration program(s)";
powerOnBoot = mkOption {
type = types.bool;
default = false;
description = ''
Should bluetooth be powered on automatically during boot?
This will worsen the battery life and is not recommended. Instead, you can
always turn bluetooth on manually once booted, when you need it. Unless you
have constant need for bluetooth / have some devices to connect to automatically
you, leave this off.
'';
};
};
}; };
} }

View file

@ -6,14 +6,14 @@
}: let }: let
inherit (lib) mkIf; inherit (lib) mkIf;
sys = config.myOptions.system.bluetooth; cfg = config.myOptions.device.bluetooth;
in { in {
config = mkIf sys.enable { config = mkIf cfg.enable {
hardware.bluetooth = { hardware.bluetooth = {
enable = true; enable = true;
package = pkgs.bluez5-experimental; package = pkgs.bluez5-experimental;
powerOnBoot = cfg.powerOnBoot;
#hsphfpd.enable = true; #hsphfpd.enable = true;
powerOnBoot = true;
disabledPlugins = ["sap"]; disabledPlugins = ["sap"];
settings = { settings = {
General = { General = {

View file

@ -9,7 +9,7 @@
inherit (lib.generators) toLua; inherit (lib.generators) toLua;
cfg = config.myOptions.system.sound; cfg = config.myOptions.system.sound;
cfgBluetooth = config.myOptions.system.bluetooth; cfgBluetooth = config.myOptions.device.bluetooth;
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
# in case pipewire was force disabled for whatever reason, fall # in case pipewire was force disabled for whatever reason, fall