diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2025-11-28 00:01:27 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2025-11-28 00:01:27 +0530 |
| commit | 170461002890d55718618bec64feaa8856c3a6d4 (patch) | |
| tree | 39828106660958fc9de2c8c8d1fc972c8e2320cb /modules/desktop/sxhkd/keybindings | |
| parent | 547bf872cbf85f4718576e1ac3a0eab094ccd26a (diff) | |
| download | home-manager-config-170461002890d55718618bec64feaa8856c3a6d4.tar.gz home-manager-config-170461002890d55718618bec64feaa8856c3a6d4.zip | |
Organised the configuration to allow for different options for different users.
Diffstat (limited to 'modules/desktop/sxhkd/keybindings')
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/brightnessctl.nix | 15 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/bspwm.nix | 45 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/pamixer.nix | 20 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/playerctl.nix | 10 |
4 files changed, 90 insertions, 0 deletions
diff --git a/modules/desktop/sxhkd/keybindings/brightnessctl.nix b/modules/desktop/sxhkd/keybindings/brightnessctl.nix new file mode 100644 index 0000000..acb4ea2 --- /dev/null +++ b/modules/desktop/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/desktop/sxhkd/keybindings/bspwm.nix b/modules/desktop/sxhkd/keybindings/bspwm.nix new file mode 100644 index 0000000..ed62ed4 --- /dev/null +++ b/modules/desktop/sxhkd/keybindings/bspwm.nix @@ -0,0 +1,45 @@ +{ createKeybinding, pkgs, lib }: + +let + bspc = "${pkgs.bspwm}/bin/bspc"; +in lib.mkMerge [ + (createKeybinding + "q" + "Kill current window." + "${bspc} node -c") + + (createKeybinding + "{1-9,0}" + "Switch workspace." + "${bspc} desktop -f {1-9,10}") + + (createKeybinding + "shift + {1-9,0}" + "Move window to workspace." + "${bspc} node -d {1-9,10} --follow") + + (createKeybinding + "{n,d,m}" + "Set current window mode (tiled, floating, fullscreen)." + "${bspc} node focused -t {tiled,floating,fullscreen}") + + (createKeybinding + "{_,shift + }{h,j,k,l}" + "Navigate between windows." + "${bspc} node --{focus,swap} {west,south,north,east}") + + # the indentation for each line is required to work with the help prompt + (createKeybinding + "ctrl + {h,j,k,l}" + "Resize current window." + '' + ${bspc} node {@parent/second -z left -20 0; \ + @parent/first -z right -20 0, \ + @parent/second -z top 0 +20; \ + @parent/first -z bottom 0 +20, \ + @parent/first -z bottom 0 -20; \ + @parent/second -z top 0 -20, \ + @parent/first -z right +20 0; \ + @parent/second -z left +20 0} +'') +] diff --git a/modules/desktop/sxhkd/keybindings/pamixer.nix b/modules/desktop/sxhkd/keybindings/pamixer.nix new file mode 100644 index 0000000..3543d8f --- /dev/null +++ b/modules/desktop/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/desktop/sxhkd/keybindings/playerctl.nix b/modules/desktop/sxhkd/keybindings/playerctl.nix new file mode 100644 index 0000000..3e5c4e0 --- /dev/null +++ b/modules/desktop/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") +] |
