aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/i3/keybindings.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-25 11:50:05 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-25 11:50:05 +0530
commit892b62a3129a6ae30fa6b039e3f88d370d418319 (patch)
tree5a25ed4be60fd2a29548ec1ed65c9b831d2ef4b2 /modules/desktop/i3/keybindings.nix
parent6621b1998e6f02772adb2df2fc19343691b086cf (diff)
downloadhome-manager-config-892b62a3129a6ae30fa6b039e3f88d370d418319.tar.gz
home-manager-config-892b62a3129a6ae30fa6b039e3f88d370d418319.zip
feat(hyprland): migrate config to Lua, fix API calls, switch to hyprpaper
- Set configType = "lua" for Hyprland 0.55+ Lua config format - Rewrite window rules to use hl.window_rule({...}) table API - Convert keybindings to hl.bind() with _args + mkLuaInline - Fix dispatchers: hl.dsp.focus (not window.focus), hl.dsp.focus({workspace=}) (not workspace.switch) - Replace swaybg with services.hyprpaper module for wallpaper - Fix border colors to use base07 (white) / base03 (grey) with rgba() format - Reduce default font size from 16 to 12
Diffstat (limited to 'modules/desktop/i3/keybindings.nix')
-rw-r--r--modules/desktop/i3/keybindings.nix90
1 files changed, 0 insertions, 90 deletions
diff --git a/modules/desktop/i3/keybindings.nix b/modules/desktop/i3/keybindings.nix
deleted file mode 100644
index 8857e7d..0000000
--- a/modules/desktop/i3/keybindings.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-# Keybindings - i3 keyboard shortcuts (app launchers, vim directions, workspaces)
-{
- lib,
- config,
-}:
-let
- mod = "Mod4";
-in
-{
- # --- General Applications ---
- "${mod}+r" =
- lib.mkIf (config.terminal.fzf.enable && config.terminal.kitty.enable)
- "exec ${lib.getExe config.terminal.kitty.package} --class application-launcher -e ${lib.getExe config.scripts.fzf-launcher.package}";
- "${mod}+Return" =
- lib.mkIf config.terminal.kitty.enable "exec ${lib.getExe config.terminal.kitty.package}";
- "${mod}+f" =
- lib.mkIf (config.terminal.kitty.enable && config.file-management.yazi.enable)
- "exec ${lib.getExe config.terminal.kitty.package} --class file-explorer --title 'Yazi' -e ${lib.getExe config.file-management.yazi.package}";
- "${mod}+s" =
- lib.mkIf config.terminal.kitty.enable "exec ${lib.getExe config.terminal.kitty.package} --title 'Keybindings' --class keybindings-viewer -e ${lib.getExe config.scripts.i3-keybindings.package}";
- "${mod}+q" = "kill";
-
- # --- Media / Hardware Keys ---
- "XF86MonBrightnessDown" =
- lib.mkIf config.system.brightnessctl.enable "exec ${lib.getExe config.system.brightnessctl.package} set 5%-";
- "XF86MonBrightnessUp" =
- lib.mkIf config.system.brightnessctl.enable "exec ${lib.getExe config.system.brightnessctl.package} set +5%";
- "XF86AudioLowerVolume" =
- lib.mkIf config.media.pamixer.enable "exec ${lib.getExe config.media.pamixer.package} --decrease 5";
- "XF86AudioRaiseVolume" =
- lib.mkIf config.media.pamixer.enable "exec ${lib.getExe config.media.pamixer.package} --increase 5";
- "XF86AudioMute" =
- lib.mkIf config.media.pamixer.enable "exec ${lib.getExe config.media.pamixer.package} --toggle-mute";
- "XF86AudioPlay" =
- lib.mkIf config.media.playerctl.enable "exec ${lib.getExe config.media.playerctl.package} play-pause";
-
- # --- Window Management (Vim-style) ---
- # Focus
- "${mod}+h" = "focus left";
- "${mod}+j" = "focus down";
- "${mod}+k" = "focus up";
- "${mod}+l" = "focus right";
-
- # Move/Swap
- "${mod}+Shift+h" = "move left";
- "${mod}+Shift+j" = "move down";
- "${mod}+Shift+k" = "move up";
- "${mod}+Shift+l" = "move right";
-
- # Resize
- "${mod}+Control+h" = "resize shrink width 20 px or 20 ppt";
- "${mod}+Control+j" = "resize grow height 20 px or 20 ppt";
- "${mod}+Control+k" = "resize shrink height 20 px or 20 ppt";
- "${mod}+Control+l" = "resize grow width 20 px or 20 ppt";
-
- # Layout Modes
- "${mod}+d" = "floating toggle, resize set 1280 720, move position center";
- "${mod}+m" = "fullscreen toggle";
-
- # --- Workspaces ---
- # Switch to workspace
- "${mod}+1" = "workspace number 1";
- "${mod}+2" = "workspace number 2";
- "${mod}+3" = "workspace number 3";
- "${mod}+4" = "workspace number 4";
- "${mod}+5" = "workspace number 5";
- "${mod}+6" = "workspace number 6";
- "${mod}+7" = "workspace number 7";
- "${mod}+8" = "workspace number 8";
- "${mod}+9" = "workspace number 9";
- "${mod}+0" = "workspace number 10";
-
- # Move window to workspace
- "${mod}+Shift+1" = "move container to workspace number 1; workspace number 1";
- "${mod}+Shift+2" = "move container to workspace number 2; workspace number 2";
- "${mod}+Shift+3" = "move container to workspace number 3; workspace number 3";
- "${mod}+Shift+4" = "move container to workspace number 4; workspace number 4";
- "${mod}+Shift+5" = "move container to workspace number 5; workspace number 5";
- "${mod}+Shift+6" = "move container to workspace number 6; workspace number 6";
- "${mod}+Shift+7" = "move container to workspace number 7; workspace number 7";
- "${mod}+Shift+8" = "move container to workspace number 8; workspace number 8";
- "${mod}+Shift+9" = "move container to workspace number 9; workspace number 9";
- "${mod}+Shift+0" = "move container to workspace number 10; workspace number 10";
-
- # --- Screenshots ---
- "${mod}+p" =
- lib.mkIf config.media.maim.enable "exec \"${lib.getExe config.media.maim.package} -s | xclip -selection clipboard -t image/png\"";
- "${mod}+Shift+p" =
- lib.mkIf config.media.maim.enable "exec \"mkdir -p ~/Pictures/Screenshots && ${lib.getExe config.media.maim.package} -s ~/Pictures/Screenshots/screenshot-$(date +%Y%m%d-%H%M%S).png\"";
-}