aboutsummaryrefslogtreecommitdiffstats
path: root/modules/graphical/sxhkd
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2025-11-26 13:49:55 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2025-11-26 14:07:55 +0530
commitb553b7633a838f6ad023fb2430c95933ea512e4a (patch)
tree2dc2d09d6b8df64e8089abcd59fc6a0f1fd1fb26 /modules/graphical/sxhkd
parentde166231fa4954a2cdc68265da9fbaf072c0d3b1 (diff)
downloadhome-manager-config-b553b7633a838f6ad023fb2430c95933ea512e4a.tar.gz
home-manager-config-b553b7633a838f6ad023fb2430c95933ea512e4a.zip
Added volume, brightness and player controls.
Diffstat (limited to 'modules/graphical/sxhkd')
-rw-r--r--modules/graphical/sxhkd/default.nix10
-rw-r--r--modules/graphical/sxhkd/keybindings/brightnessctl.nix15
-rw-r--r--modules/graphical/sxhkd/keybindings/pamixer.nix20
-rw-r--r--modules/graphical/sxhkd/keybindings/playerctl.nix10
4 files changed, 52 insertions, 3 deletions
diff --git a/modules/graphical/sxhkd/default.nix b/modules/graphical/sxhkd/default.nix
index a65d3fa..d19f01f 100644
--- a/modules/graphical/sxhkd/default.nix
+++ b/modules/graphical/sxhkd/default.nix
@@ -5,12 +5,16 @@
services.sxhkd.enable = true;
services.sxhkd.keybindings =
let
- modKey = "alt";
- createKeybinding = keybinding: description: command: {
- "# ${description}\n${modKey} + ${keybinding}" = command;
+ modKey = "super";
+ createKeybinding = keybinding: createKeybindingBase "${modKey} + ${keybinding}";
+ createKeybindingBase = keybinding: description: command: {
+ "# ${description}\n${keybinding}" = command;
};
in lib.mkMerge [
+ (import ./keybindings/brightnessctl.nix { inherit pkgs createKeybindingBase lib; })
(import ./keybindings/bspwm.nix { inherit pkgs createKeybinding lib; })
+ (import ./keybindings/pamixer.nix { inherit pkgs createKeybindingBase lib; })
+ (import ./keybindings/playerctl.nix { inherit pkgs createKeybindingBase lib; })
(createKeybinding
"s"
diff --git a/modules/graphical/sxhkd/keybindings/brightnessctl.nix b/modules/graphical/sxhkd/keybindings/brightnessctl.nix
new file mode 100644
index 0000000..acb4ea2
--- /dev/null
+++ b/modules/graphical/sxhkd/keybindings/brightnessctl.nix
@@ -0,0 +1,15 @@
+{ createKeybindingBase, pkgs, lib }:
+
+let
+ brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
+in lib.mkMerge [
+ (createKeybindingBase
+ "XF86MonBrightnessDown"
+ "Decrease brightness."
+ "${brightnessctl} set 5%-")
+
+ (createKeybindingBase
+ "XF86MonBrightnessUp"
+ "Increase brightness."
+ "${brightnessctl} set +5%")
+]
diff --git a/modules/graphical/sxhkd/keybindings/pamixer.nix b/modules/graphical/sxhkd/keybindings/pamixer.nix
new file mode 100644
index 0000000..3543d8f
--- /dev/null
+++ b/modules/graphical/sxhkd/keybindings/pamixer.nix
@@ -0,0 +1,20 @@
+{ createKeybindingBase, pkgs, lib }:
+
+let
+ pamixer = "${pkgs.pamixer}/bin/pamixer";
+in lib.mkMerge [
+ (createKeybindingBase
+ "XF86AudioLowerVolume"
+ "Decrease volume."
+ "${pamixer} --decrease 5")
+
+ (createKeybindingBase
+ "XF86AudioRaiseVolume"
+ "Increase volume."
+ "${pamixer} --increase 5")
+
+ (createKeybindingBase
+ "XF86AudioMute"
+ "Mute audio."
+ "${pamixer} --toggle-mute")
+]
diff --git a/modules/graphical/sxhkd/keybindings/playerctl.nix b/modules/graphical/sxhkd/keybindings/playerctl.nix
new file mode 100644
index 0000000..3e5c4e0
--- /dev/null
+++ b/modules/graphical/sxhkd/keybindings/playerctl.nix
@@ -0,0 +1,10 @@
+{ createKeybindingBase, pkgs, lib }:
+
+let
+ playerctl = "${pkgs.playerctl}/bin/playerctl";
+in lib.mkMerge [
+ (createKeybindingBase
+ "XF86AudioPlay"
+ "Toggle video / audio player."
+ "${playerctl} play-pause")
+]