diff options
Diffstat (limited to 'modules/desktop/sxhkd')
| -rw-r--r-- | modules/desktop/sxhkd/default.nix | 57 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/brightnessctl.nix | 19 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/bspwm.nix | 61 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/maim.nix | 23 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/pamixer.nix | 24 | ||||
| -rw-r--r-- | modules/desktop/sxhkd/keybindings/playerctl.nix | 14 |
6 files changed, 93 insertions, 105 deletions
diff --git a/modules/desktop/sxhkd/default.nix b/modules/desktop/sxhkd/default.nix index 19bc540..fe8acbb 100644 --- a/modules/desktop/sxhkd/default.nix +++ b/modules/desktop/sxhkd/default.nix @@ -1,42 +1,39 @@ -{ pkgs, config, lib, ... }: +{ + pkgs, + config, + lib, + ... +}: { config = lib.mkIf config.desktop.enable { services.sxhkd.enable = true; services.sxhkd.keybindings = - let - 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/maim.nix { inherit pkgs createKeybinding lib; }) - (import ./keybindings/pamixer.nix { inherit pkgs createKeybindingBase lib; }) - (import ./keybindings/playerctl.nix { inherit pkgs createKeybindingBase lib; }) + let + 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/maim.nix { inherit pkgs createKeybinding lib; }) + (import ./keybindings/pamixer.nix { inherit pkgs createKeybindingBase lib; }) + (import ./keybindings/playerctl.nix { inherit pkgs createKeybindingBase lib; }) - (createKeybinding - "s" - "Show keybindings." - "kitty --title 'Keybindings' --class floating-termial -e ${pkgs.writeShellScript "keybindings.sh" (builtins.readFile ./scripts/keybindings.sh)}" + (createKeybinding "s" "Show keybindings." + "kitty --title 'Keybindings' --class floating-termial -e ${pkgs.writeShellScript "keybindings.sh" (builtins.readFile ./scripts/keybindings.sh)}" ) - (createKeybinding - "r" - "Application launcher." - "rofi -show drun") + (createKeybinding "r" "Application launcher." "rofi -show drun") - (createKeybinding - "t" - "Launch terminal." - "kitty") + (createKeybinding "t" "Launch terminal." "kitty") - (createKeybinding - "f" - "Launch File Manager." - "kitty --title 'File Manager' --class floating-termial -e nnn") - ]; + (createKeybinding "f" "Launch File Manager." + "kitty --title 'File Manager' --class floating-termial -e nnn" + ) + ]; }; } diff --git a/modules/desktop/sxhkd/keybindings/brightnessctl.nix b/modules/desktop/sxhkd/keybindings/brightnessctl.nix index bc508e6..c48c86b 100644 --- a/modules/desktop/sxhkd/keybindings/brightnessctl.nix +++ b/modules/desktop/sxhkd/keybindings/brightnessctl.nix @@ -1,15 +1,14 @@ -{ createKeybindingBase, pkgs, lib }: +{ + createKeybindingBase, + pkgs, + lib, +}: let brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; -in lib.mkMerge [ - (createKeybindingBase - "XF86MonBrightnessDown" - "Decrease brightness." - "${brightnessctl} set 5%-") +in +lib.mkMerge [ + (createKeybindingBase "XF86MonBrightnessDown" "Decrease brightness." "${brightnessctl} set 5%-") - (createKeybindingBase - "XF86MonBrightnessUp" - "Increase 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 index cd838a3..097b976 100644 --- a/modules/desktop/sxhkd/keybindings/bspwm.nix +++ b/modules/desktop/sxhkd/keybindings/bspwm.nix @@ -1,45 +1,36 @@ -{ createKeybinding, pkgs, lib }: +{ + createKeybinding, + pkgs, + lib, +}: let bspc = "${pkgs.bspwm}/bin/bspc"; -in lib.mkMerge [ - (createKeybinding - "q" - "Kill current window." - "${bspc} node -c") +in +lib.mkMerge [ + (createKeybinding "q" "Kill current window." "${bspc} node -c") - (createKeybinding - "{1-9,0}" - "Switch workspace." - "${bspc} desktop -f {1-9,10}") + (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 "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 "{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}") + (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} -'') + (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/maim.nix b/modules/desktop/sxhkd/keybindings/maim.nix index 2092a71..0f0b3d8 100644 --- a/modules/desktop/sxhkd/keybindings/maim.nix +++ b/modules/desktop/sxhkd/keybindings/maim.nix @@ -1,15 +1,18 @@ -{ createKeybinding, pkgs, lib }: +{ + createKeybinding, + pkgs, + lib, +}: let maim = "${pkgs.maim}/bin/maim"; -in lib.mkMerge [ - (createKeybinding - "p" - "Take screenshot of selected area and save to clipboard" - "${maim} -s | xclip -selection clipboard -t image/png") +in +lib.mkMerge [ + (createKeybinding "p" "Take screenshot of selected area and save to clipboard" + "${maim} -s | xclip -selection clipboard -t image/png" + ) - (createKeybinding - "shift + p" - "Take screenshot of selected area and save to ~/Pictures/Screenshots" - "mkdir -p ~/Pictures/Screenshots && ${maim} -s ~/Pictures/Screenshots/screenshot-$(date +%Y%m%d-%H%M%S).png") + (createKeybinding "shift + p" "Take screenshot of selected area and save to ~/Pictures/Screenshots" + "mkdir -p ~/Pictures/Screenshots && ${maim} -s ~/Pictures/Screenshots/screenshot-$(date +%Y%m%d-%H%M%S).png" + ) ] diff --git a/modules/desktop/sxhkd/keybindings/pamixer.nix b/modules/desktop/sxhkd/keybindings/pamixer.nix index e7f056e..4b495aa 100644 --- a/modules/desktop/sxhkd/keybindings/pamixer.nix +++ b/modules/desktop/sxhkd/keybindings/pamixer.nix @@ -1,20 +1,16 @@ -{ createKeybindingBase, pkgs, lib }: +{ + createKeybindingBase, + pkgs, + lib, +}: let pamixer = "${pkgs.pamixer}/bin/pamixer"; -in lib.mkMerge [ - (createKeybindingBase - "XF86AudioLowerVolume" - "Decrease volume." - "${pamixer} --decrease 5") +in +lib.mkMerge [ + (createKeybindingBase "XF86AudioLowerVolume" "Decrease volume." "${pamixer} --decrease 5") - (createKeybindingBase - "XF86AudioRaiseVolume" - "Increase volume." - "${pamixer} --increase 5") + (createKeybindingBase "XF86AudioRaiseVolume" "Increase volume." "${pamixer} --increase 5") - (createKeybindingBase - "XF86AudioMute" - "Mute audio." - "${pamixer} --toggle-mute") + (createKeybindingBase "XF86AudioMute" "Mute audio." "${pamixer} --toggle-mute") ] diff --git a/modules/desktop/sxhkd/keybindings/playerctl.nix b/modules/desktop/sxhkd/keybindings/playerctl.nix index 7c3b796..e9d744e 100644 --- a/modules/desktop/sxhkd/keybindings/playerctl.nix +++ b/modules/desktop/sxhkd/keybindings/playerctl.nix @@ -1,10 +1,12 @@ -{ createKeybindingBase, pkgs, lib }: +{ + createKeybindingBase, + pkgs, + lib, +}: let playerctl = "${pkgs.playerctl}/bin/playerctl"; -in lib.mkMerge [ - (createKeybindingBase - "XF86AudioPlay" - "Toggle video / audio player." - "${playerctl} play-pause") +in +lib.mkMerge [ + (createKeybindingBase "XF86AudioPlay" "Toggle video / audio player." "${playerctl} play-pause") ] |
