🚀 enable bluetooth for desktop

nixos
Moritz Böhme 2022-08-20 14:17:16 +02:00
parent 2d308e19b0
commit b1fb126f98
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
3 changed files with 45 additions and 0 deletions

View File

@ -89,6 +89,8 @@
environment.systemPackages = with pkgs; [ lm_sensors ]; environment.systemPackages = with pkgs; [ lm_sensors ];
boot.kernelModules = [ "lm92" "drivetemp" ]; boot.kernelModules = [ "lm92" "drivetemp" ];
hardware.bluetooth.enable = true;
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave

View File

@ -91,6 +91,14 @@ super + w
super + c super + c
rofi -show calc -modi calc -no-show-match -no-sort | xclip -selection clipboard rofi -show calc -modi calc -no-show-match -no-sort | xclip -selection clipboard
# start rofi-bluetooth
super + b
rofi-bluetooth
# start rofi-power-menu
super + p
rofi -show power-menu -modi power-menu:rofi-power-menu
# Show help # Show help
super + h super + h
sxhkd-help sxhkd-help

View File

@ -7,6 +7,40 @@
with lib; with lib;
let let
cfg = config.my.programs.rofi; cfg = config.my.programs.rofi;
rofi-bluetooth = with pkgs; stdenv.mkDerivation rec {
pname = "rofi-bluetooth";
version = "unstable-2021-03-05";
src = fetchFromGitHub {
repo = pname;
owner = "nickclyde";
# https://github.com/nickclyde/rofi-bluetooth/issues/19
rev = "893db1f2b549e7bc0e9c62e7670314349a29cdf2";
sha256 = "sha256-3oROJKEQCuSnLfbJ+JSSc9hcmJTPrLHRQJsrUcaOMss=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -D --target-directory=$out/bin/ ./rofi-bluetooth
wrapProgram $out/bin/rofi-bluetooth \
--prefix PATH ":" ${lib.makeBinPath [ rofi-unwrapped bluez ] }
runHook postInstall
'';
meta = with lib; {
description = "Rofi-based interface to connect to bluetooth devices and display status info";
homepage = "https://github.com/nickclyde/rofi-bluetooth";
license = licenses.gpl3Only;
maintainers = with maintainers; [ MoritzBoehme ];
platforms = platforms.linux;
};
};
in in
{ {
options.my.programs.rofi = { options.my.programs.rofi = {
@ -27,6 +61,7 @@ in
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
(lib.mkIf config.networking.networkmanager.enable networkmanager_dmenu) (lib.mkIf config.networking.networkmanager.enable networkmanager_dmenu)
(lib.mkIf config.hardware.bluetooth.enable rofi-bluetooth)
]; ];
xdg = { xdg = {
enable = true; enable = true;