diff options
Diffstat (limited to 'modules/desktop/xremap')
| -rw-r--r-- | modules/desktop/xremap/default.nix | 29 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/brightnessctl.nix | 18 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/bspwm.nix | 273 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/kitty.nix | 30 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/maim.nix | 19 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/pamixer.nix | 26 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/playerctl.nix | 12 | ||||
| -rw-r--r-- | modules/desktop/xremap/keybindings/rofi.nix | 12 |
8 files changed, 419 insertions, 0 deletions
diff --git a/modules/desktop/xremap/default.nix b/modules/desktop/xremap/default.nix new file mode 100644 index 0000000..82976d0 --- /dev/null +++ b/modules/desktop/xremap/default.nix @@ -0,0 +1,29 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + config = lib.mkIf config.desktop.enable { + services.xremap = { + enable = true; + withX11 = true; + config.keymap = [ + { + name = "Global Shortcuts"; + remap = lib.mkMerge [ + # (import ./keybindings/brightnessctl.nix { inherit pkgs; }) + (import ./keybindings/bspwm.nix { inherit pkgs; }) + (import ./keybindings/kitty.nix { inherit pkgs; }) + (import ./keybindings/maim.nix { inherit pkgs; }) + # (import ./keybindings/pamixer.nix { inherit pkgs; }) + # (import ./keybindings/playerctl.nix { inherit pkgs; }) + (import ./keybindings/rofi.nix { inherit pkgs; }) + ]; + } + ]; + }; + }; +} diff --git a/modules/desktop/xremap/keybindings/brightnessctl.nix b/modules/desktop/xremap/keybindings/brightnessctl.nix new file mode 100644 index 0000000..b2f39cb --- /dev/null +++ b/modules/desktop/xremap/keybindings/brightnessctl.nix @@ -0,0 +1,18 @@ +{ pkgs }: + +{ + "XF86MonBrightnessDown" = { + launch = [ + "${pkgs.brightnessctl}/bin/brightnessctl" + "set" + "5%-" + ]; + }; + "XF86MonBrightnessUp" = { + launch = [ + "${pkgs.brightnessctl}/bin/brightnessctl" + "set" + "+5%" + ]; + }; +} diff --git a/modules/desktop/xremap/keybindings/bspwm.nix b/modules/desktop/xremap/keybindings/bspwm.nix new file mode 100644 index 0000000..1d4a347 --- /dev/null +++ b/modules/desktop/xremap/keybindings/bspwm.nix @@ -0,0 +1,273 @@ +{ pkgs }: + +{ + + "super-q" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-c" + ]; + }; + + # Window States + "super-n" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "focused" + "-t" + "tiled" + ]; + }; + "super-d" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "focused" + "-t" + "floating" + ]; + }; + "super-m" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "focused" + "-t" + "fullscreen" + ]; + }; + + # Navigation (Manual expansion of {h,j,k,l}) + "super-h" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-f" + "west" + ]; + }; + "super-j" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-f" + "south" + ]; + }; + "super-k" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-f" + "north" + ]; + }; + "super-l" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-f" + "east" + ]; + }; + + # Swap Windows + "super-shift-h" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-s" + "west" + ]; + }; + "super-shift-j" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-s" + "south" + ]; + }; + "super-shift-k" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-s" + "north" + ]; + }; + "super-shift-l" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-s" + "east" + ]; + }; + + # Desktop Navigation (1-9 and 0 for 10) + "super-1" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "1" + ]; + }; + "super-2" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "2" + ]; + }; + "super-3" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "3" + ]; + }; + "super-4" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "4" + ]; + }; + "super-5" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "5" + ]; + }; + "super-6" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "6" + ]; + }; + "super-7" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "7" + ]; + }; + "super-8" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "8" + ]; + }; + "super-9" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "9" + ]; + }; + "super-0" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "desktop" + "-f" + "10" + ]; + }; + + # Move focused window to Desktop (Optional but common) + "super-shift-1" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "1" + ]; + }; + "super-shift-2" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "2" + ]; + }; + "super-shift-3" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "3" + ]; + }; + "super-shift-4" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "4" + ]; + }; + "super-shift-5" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "5" + ]; + }; + "super-shift-6" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "6" + ]; + }; + "super-shift-7" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "7" + ]; + }; + "super-shift-8" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "8" + ]; + }; + "super-shift-9" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "9" + ]; + }; + "super-shift-0" = { + launch = [ + "${pkgs.bspwm}/bin/bspc" + "node" + "-d" + "10" + ]; + }; +} diff --git a/modules/desktop/xremap/keybindings/kitty.nix b/modules/desktop/xremap/keybindings/kitty.nix new file mode 100644 index 0000000..fd3ea1a --- /dev/null +++ b/modules/desktop/xremap/keybindings/kitty.nix @@ -0,0 +1,30 @@ +{ pkgs }: + +{ + + "super-t" = { + launch = [ "${pkgs.kitty}/bin/kitty" ]; + }; + "super-f" = { + launch = [ + "${pkgs.kitty}/bin/kitty" + "--title" + "File Manager" + "--class" + "floating-terminal" + "-e" + "nnn" + ]; + }; + "super-s" = { + launch = [ + "${pkgs.kitty}/bin/kitty" + "--title" + "Keybindings" + "--class" + "floating-terminal" + "-e" + "keybindings.sh" + ]; + }; +} diff --git a/modules/desktop/xremap/keybindings/maim.nix b/modules/desktop/xremap/keybindings/maim.nix new file mode 100644 index 0000000..f587e65 --- /dev/null +++ b/modules/desktop/xremap/keybindings/maim.nix @@ -0,0 +1,19 @@ +{ pkgs }: + +{ + + "super-p" = { + launch = [ + "sh" + "-c" + "${pkgs.maim}/bin/maim -s | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png" + ]; + }; + "super-shift-p" = { + launch = [ + "sh" + "-c" + "mkdir -p ~/Pictures/Screenshots && ${pkgs.maim}/bin/maim -s ~/Pictures/Screenshots/screenshot-$(date +%Y%m%d-%H%M%S).png" + ]; + }; +} diff --git a/modules/desktop/xremap/keybindings/pamixer.nix b/modules/desktop/xremap/keybindings/pamixer.nix new file mode 100644 index 0000000..9e0d3c0 --- /dev/null +++ b/modules/desktop/xremap/keybindings/pamixer.nix @@ -0,0 +1,26 @@ +{ pkgs }: + +{ + + "XF86AudioLowerVolume" = { + launch = [ + "sh" + "-c" + "${pkgs.pamixer}/bin/pamixer --decrease 5" + ]; + }; + "XF86AudioRaiseVolume" = { + launch = [ + "sh" + "-c" + "${pkgs.pamixer}/bin/pamixer --increase 5" + ]; + }; + "XF86AudioMute" = { + launch = [ + "sh" + "-c" + "${pkgs.pamixer}/bin/pamixer --toggle-mute" + ]; + }; +} diff --git a/modules/desktop/xremap/keybindings/playerctl.nix b/modules/desktop/xremap/keybindings/playerctl.nix new file mode 100644 index 0000000..4bc52cb --- /dev/null +++ b/modules/desktop/xremap/keybindings/playerctl.nix @@ -0,0 +1,12 @@ +{ pkgs }: + +{ + + "XF86AudioPlay" = { + launch = [ + "sh" + "-c" + "${pkgs.playerctl}/bin/playerctl play-pause" + ]; + }; +} diff --git a/modules/desktop/xremap/keybindings/rofi.nix b/modules/desktop/xremap/keybindings/rofi.nix new file mode 100644 index 0000000..5ed820a --- /dev/null +++ b/modules/desktop/xremap/keybindings/rofi.nix @@ -0,0 +1,12 @@ +{ pkgs }: + +{ + # Application Launchers + "super-r" = { + launch = [ + "${pkgs.zsh}/bin/zsh" + "-c" + "${pkgs.rofi}/bin/rofi -show drun" + ]; + }; +} |
