63 lines
2.4 KiB
Nix
63 lines
2.4 KiB
Nix
{pkgs, ...}: {
|
|
services.swayosd.enable = true;
|
|
home.packages = [
|
|
pkgs.playerctl
|
|
];
|
|
wayland.windowManager.hyprland.settings = {
|
|
bindel = [
|
|
", XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise"
|
|
", XF86AudioLowerVolume, exec, swayosd-client --output-volume lower"
|
|
];
|
|
|
|
bindl = [
|
|
", XF86AudioMute, exec, swayosd-client --output-volume mute-toggle"
|
|
", Caps_Lock, exec, swayosd-client --caps-lock"
|
|
", XF86AudioPlay, exec, playerctl play-pause && notify-send -u low -t 1000 \"Media\" \"$(playerctl status)\""
|
|
", XF86AudioPrev, exec, playerctl previous && notify-send -u low -t 1000 \"Previous Track\" \"$(playerctl metadata title)\""
|
|
", XF86AudioNext, exec, playerctl next && notify-send -u low -t 1000 \"Next Track\" \"$(playerctl metadata title)\""
|
|
", XF86AudioMute, exec, swayosd-client --output-volume mute-toggle"
|
|
]; # FIXME: not working
|
|
bindd =
|
|
[
|
|
# essential
|
|
"SUPER, Return, Open Terminal, exec, uwsm app -- xdg-terminal-exec"
|
|
"SUPER, Q, Kill active, killactive"
|
|
|
|
# move focus
|
|
"SUPER, J, Move focus down, movefocus, d"
|
|
"SUPER, K, Move focus up, movefocus, u"
|
|
"SUPER, H, Move focus left, movefocus, l"
|
|
"SUPER, L, Move focus right, movefocus, r"
|
|
|
|
# fullscreen
|
|
"SUPER, F, Toggle Fullscreen, fullscreen, 0"
|
|
"SUPER SHIFT, F, Toggle Maximized Fullscreen, fullscreen, 1"
|
|
|
|
# apps
|
|
"SUPER, W, Open Browser, exec, uwsm app -- firefox" # FIXME: must be xdg-open
|
|
"SUPER, SPACE, Open App Launcher, exec, ghostty --title=launcher -e fsel" # FIXME: pls make ghostty variable
|
|
|
|
# [Workspaces] Toggle between most recent workspaces
|
|
"SUPER, Tab, Cycle workspaces, workspace, previous"
|
|
]
|
|
++ (
|
|
# Generate binds for Super + [1-10] to switch workspaces
|
|
# and Super + Shift + [1-10] to move window to workspace
|
|
builtins.concatLists (builtins.genList (
|
|
i: let
|
|
ws = i + 1;
|
|
key = toString (
|
|
if ws == 10
|
|
then 0
|
|
else ws
|
|
);
|
|
in [
|
|
"SUPER, ${key}, Switch to workspace ${toString ws}, workspace, ${toString ws}"
|
|
"SUPER SHIFT, ${key}, Move window to workspace ${toString ws}, movetoworkspace, ${toString ws}"
|
|
]
|
|
)
|
|
10)
|
|
);
|
|
};
|
|
}
|