diff options
Diffstat (limited to 'modules/desktops/sway/binds.nix')
-rw-r--r-- | modules/desktops/sway/binds.nix | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/modules/desktops/sway/binds.nix b/modules/desktops/sway/binds.nix new file mode 100644 index 0000000..812d446 --- /dev/null +++ b/modules/desktops/sway/binds.nix @@ -0,0 +1,91 @@ +{config, ...}: let + mod = "Mod4"; +in { + home-manager.users.${config.user} = { + wayland.windowManager.sway = { + config = { + keybindings = { + # apps + "${mod}+Return" = "exec ${config.default.terminal}"; + "${mod}+l" = "exec ${config.default.lockScreen}"; + "${mod}+d" = "exec ${config.default.appLauncher}"; + "${mod}+w" = "exec ${config.default.browser}"; + + # exit + "${mod}+Shift+l" = "exit"; + # kill focused window + "${mod}+Shift+q" = "kill"; + # reload sway + "${mod}+F5" = "reload"; + + # audio + "XF86AudioRaiseVolume" = "exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"; + "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; + "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + "XF86AudioMicMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; + + # media + "XF86AudioPlay" = "exec playerctl play-pause"; + "XF86AudioNext" = "exec playerctl next"; + "XF86AudioPrev" = "exec playerctl previous"; + + # backlight + "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; + "XF86MonBrightnessUp" = "exec brightnessctl set 5%+"; + + # screenshot + "Print" = "exec grimblast copy area"; + + # move focus + "${mod}+Left" = "focus left"; + "${mod}+Down" = "focus down"; + "${mod}+Up" = "focus up"; + "${mod}+Right" = "focus right"; + + # move focused window + "${mod}+Shift+Left" = "move left"; + "${mod}+Shift+Down" = "move down"; + "${mod}+Shift+Up" = "move up"; + "${mod}+Shift+Right" = "move right"; + + # switch 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"; + + # move focused container to workspace + "${mod}+Shift+1" = "move container to workspace number 1"; + "${mod}+Shift+2" = "move container to workspace number 2"; + "${mod}+Shift+3" = "move container to workspace number 3"; + "${mod}+Shift+4" = "move container to workspace number 4"; + "${mod}+Shift+5" = "move container to workspace number 5"; + "${mod}+Shift+6" = "move container to workspace number 6"; + "${mod}+Shift+7" = "move container to workspace number 7"; + "${mod}+Shift+8" = "move container to workspace number 8"; + "${mod}+Shift+9" = "move container to workspace number 9"; + + # layout + "${mod}+Shift+d" = "layout default"; + "${mod}+Shift+b" = "layout splith"; + "${mod}+Shift+v" = "layout splitv"; + "${mod}+Shift+c" = "layout tabbed"; + + # fullscreen + "${mod}+f" = "fullscreen"; + # float + "${mod}+Shift+space" = "floating toggle"; + # focus + "${mod}+space" = "focus mode_toggle"; + # parent + "${mod}+a" = "focus parent"; + }; + }; + }; + }; +} |