aboutsummaryrefslogtreecommitdiffstats
path: root/modules/graphical/sxhkd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/graphical/sxhkd/default.nix')
-rw-r--r--modules/graphical/sxhkd/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/graphical/sxhkd/default.nix b/modules/graphical/sxhkd/default.nix
new file mode 100644
index 0000000..1b362cf
--- /dev/null
+++ b/modules/graphical/sxhkd/default.nix
@@ -0,0 +1,37 @@
+{ pkgs, config, lib, ... }:
+
+{
+ config = lib.mkIf config.graphical.enable {
+ services.sxhkd.enable = true;
+ services.sxhkd.keybindings =
+ let
+ modKey = "alt";
+ createKeybinding = keybinding: description: command: {
+ "# ${description}\n${modKey} + ${keybinding}" = command;
+ };
+ in lib.mkMerge [
+ (import ./keybindings/bspwm.nix { inherit pkgs createKeybinding lib; })
+
+ (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")
+
+ (createKeybinding
+ "t"
+ "Launch terminal."
+ "kitty")
+
+ # (createKeybinding
+ # "f"
+ # "Launch File Manager."
+ # "kitty --title 'File Manager' --class floating-termial -e ${config.tools.file-manager.command}")
+ ];
+ };
+}