dotfiles/modules/home/gui/desktop/niri/config/binds.nix
2025-05-16 20:03:42 -05:00

88 lines
3.4 KiB
Nix
Executable file

{
config,
flake,
osConfig,
workspaceStrings,
...
}:
let
niri = config.lib.niri.actions;
inherit (flake.config.machines) devices;
mars = devices.mars.name;
deimos = devices.deimos.name;
host = osConfig.networking.hostName;
deviceLogic =
d: m:
if host == deimos then
"${d}"
else if host == mars then
"${m}"
else
"";
in
{
binds = {
"Super+z".action = niri.spawn "obsidian";
"Super+l".action = niri.spawn "slack";
"Super+h".action = niri.spawn "feishin";
"Super+g".action = niri.spawn "scrcpy";
"Super+k".action = niri.spawn "ghostty -e nu -e y";
"Super+s".action = niri.spawn "steam";
"Super+r".action = niri.spawn "ghostty -e zellij a dotfiles";
"Super+n".action = niri.spawn "signal-desktop";
"Super+t".action = niri.spawn "zeditor";
"Super+b".action = niri.spawn "floorp";
"Super+x".action = niri.spawn "freetube";
"Super+v".action = niri.spawn "vesktop";
"Super+m".action = niri.spawn "element-desktop";
"Super+d".action = niri.spawn "ghostty";
"Super+p".action = niri.spawn "bitwarden";
"Super+Space".action = niri.spawn "fuzzel";
"Super+Tab".action = niri.close-window;
"Super+u".action = niri.maximize-column;
"Super+comma".action = niri.focus-workspace-down;
"Super+period".action = niri.focus-workspace-up;
"Super+f".action = niri.swap-window-left;
"Super+o".action = niri.swap-window-right;
"Super+w".action = niri.switch-preset-column-width;
# "Ctrl+Alt+1".action = niri.move-window-to-workspace workspaceStrings.workspace0
# "Ctrl+Alt+2".action = niri.move-window-to-workspace workspaceStrings.workspace1
# "Ctrl+Alt+3".action = niri.move-window-to-workspace workspaceStrings.workspace2
# "Ctrl+Alt+4".action = niri.move-window-to-workspace workspaceStrings.workspace3
# "Ctrl+Alt+5".action = niri.move-window-to-workspace workspaceStrings.workspace4
# "Super+Enter".action = niri.toggle-overview;
# "Super+1".action = niri.focus-workspace workspaceStrings.workspace0;
# "Super+2".action = niri.focus-workspace workspaceStrings.workspace1;
# "Super+3".action = niri.focus-workspace workspaceStrings.workspace2;
# "Super+4".action = niri.focus-workspace workspaceStrings.workspace3;
# "Super+5".action = niri.focus-workspace workspaceStrings.workspace4;
"Super+1".action = niri.focus-column-or-monitor-left;
"Super+2".action = niri.focus-window-or-workspace-up;
"Super+3".action = niri.focus-window-or-workspace-down;
"Super+4".action = niri.focus-column-or-monitor-right;
"Super+Shift+t".action = niri.spawn "ghostty";
"Super+Shift+s".action = niri.spawn "flameshot gui";
"Super+Shift+period".action = niri.spawn "emote";
"Super+Shift+Tab".action = niri.fullscreen-window;
"Ctrl+Alt+c".action = niri.move-column-left;
"Ctrl+Alt+i".action = niri.move-column-right;
"Ctrl+Alt+f".action = niri.set-column-width "-10%";
"Ctrl+Alt+o".action = niri.set-column-width "+10%";
"XF86MonBrightnessUp".action = niri.spawn "brightnessctl -d ${deviceLogic "amdgpu_bl1" ""} s +10%";
"XF86MonBrightnessDown".action =
niri.spawn "brightnessctl -d ${deviceLogic "amdgpu_bl1" ""} s 10%-";
"XF86AudioRaiseVolume".action = niri.spawn "pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume".action = niri.spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioMute".action = niri.spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle";
};
}