79 lines
2.3 KiB
Nix
79 lines
2.3 KiB
Nix
{spkgs, ...}: {
|
|
wayland.windowManager.river = let
|
|
layout = "rivertile";
|
|
in {
|
|
enable = true;
|
|
xwayland.enable = true;
|
|
package = spkgs.river-classic; # FIX: using spkgs version as zls is broken rn ;-;
|
|
|
|
settings = let
|
|
main = "Super";
|
|
|
|
# applications
|
|
terminal = "kitty";
|
|
browser = "firefox";
|
|
in {
|
|
default-layout = "${layout}";
|
|
output-layout = "${layout}";
|
|
border-width = 1;
|
|
|
|
spawn = [
|
|
''${layout}''
|
|
|
|
"awww-daemon"
|
|
"waybar"
|
|
];
|
|
|
|
map.normal = {
|
|
"${main} C" = "close"; # close focused window
|
|
"${main}+Alt Delete" = "exit"; # exit river
|
|
|
|
# app launcher
|
|
"${main} D" = ''spawn "pkill -x rofi || rofi -show drun -show-icons"'';
|
|
"Alt Tab" = ''spawn "pkill -x rofi || rofi -modi window -show window -show-icons"'';
|
|
|
|
# spawn applications
|
|
"${main} T" = ''spawn "${terminal}"'';
|
|
"${main} R" = ''spawn "${browser}"'';
|
|
|
|
# move focused view to top of layout stack
|
|
"${main} N" = ''zoom'';
|
|
|
|
# focus next/previous view
|
|
"${main} J" = "focus-view previous";
|
|
"${main} K" = "focus-view next";
|
|
# move to next/previous output
|
|
"${main} H" = "focus-output previous";
|
|
"${main} L" = "focus-output next";
|
|
|
|
# swap next/previous view
|
|
"${main}+Alt J" = "swap previous";
|
|
"${main}+Alt K" = "swap next";
|
|
# send view to next/previous output
|
|
# and switch to that output (wip)
|
|
"${main}+Alt H" = "send-to-output previous";
|
|
#"${main}+Alt H" = "focus-output previous";
|
|
"${main}+Alt L" = "send-to-output next";
|
|
#"${main}+Alt L" = "focus-output next";
|
|
|
|
# move views
|
|
#"${main}+Alt H" = "move left 100";
|
|
#"${main}+Alt J" = "move down 100";
|
|
#"${main}+Alt K" = "move up 100";
|
|
#"${main}+Alt L" = "move right 100";
|
|
|
|
# snap views
|
|
#"${main}+Control H" = "snap left";
|
|
#"${main}+Control J" = "snap down";
|
|
#"${main}+Control K" = "snap up";
|
|
#"${main}+Control L" = "snap right";
|
|
|
|
# resize views
|
|
#"${main}+Shift H" = "resize horizontal -100";
|
|
#"${main}+Shift J" = "resize vertical -100";
|
|
#"${main}+Shift K" = "resize vertical 100";
|
|
#"${main}+Shift L" = "resize horizontal 100";
|
|
};
|
|
};
|
|
};
|
|
}
|