Files
omnixy/modules/hardware/bluetooth.nix

45 lines
1.0 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
{
options.hardware.bluetooth.enhanced.enable = mkEnableOption "Enhanced Bluetooth support";
config = mkIf config.hardware.bluetooth.enhanced.enable {
# Enable Bluetooth
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
};
};
};
# Bluetooth services
services.blueman.enable = true;
# Bluetooth packages
environment.systemPackages = with pkgs; [
bluez
bluez-tools
blueman
bluetuith
];
# Auto-connect trusted devices
systemd.user.services.bluetooth-auto-connect = {
description = "Auto-connect Bluetooth devices";
after = [ "bluetooth.service" ];
partOf = [ "bluetooth.service" ];
serviceConfig = {
Type = "forking";
ExecStart = "${pkgs.bluez}/bin/bluetoothctl connect-all";
RemainAfterExit = true;
};
wantedBy = [ "default.target" ];
};
};
}