wm: river setup

This commit is contained in:
Khaïs COLIN 2024-07-28 23:30:50 +02:00
parent 1cb873830f
commit 5f441a4be1
4 changed files with 89 additions and 0 deletions

View file

@ -27,6 +27,7 @@
inherit pkgs;
modules = [
./home.nix
./wm/river.nix
];
extraSpecialArgs = {
inherit inputs;

View file

@ -17,6 +17,8 @@ in {
zed-editor
# nixvim
inputs.nixvim-flake.packages.${system}.default
# wm river utils
kitty swaylock fuzzel
];
file = {

83
home-manager/wm/river.nix Normal file
View file

@ -0,0 +1,83 @@
let
swaylock-command = "swaylock --ignore-empty-password --show-failed-attempts --daemonize --show-keyboard-layout --color 212733";
in
{
wayland.windowManager.river = {
enable = true;
extraConfig = ''
rivertile -view-padding 0 -outer-padding 0 &
'';
settings = {
border-width = 2;
keyboard-layout = "fr";
default-layout = "rivertile";
focus-follows-cursor = "normal";
map = {
normal = {
# screen lock & suspend
"Control+Alt L" = "spawn '${swaylock-command}'";
"Control+Alt+Shift L" = "spawn '${swaylock-command} & systemctl suspend'";
# terminal
"Super Return" = "spawn kitty";
# frequent programs
"Super Q" = "spawn firefox";
"Super D" = "spawn discord";
"Super G" = "spawn dolphin";
# program launcher
"Super R" = "spawn fuzzel";
# quit river
"Super+Alt+Control Q" = "exit";
# manipulate current view
"Super W" = "close";
"Super M" = "toggle-fullscreen";
"Super S" = "toggle-float";
"Super F" = "toggle-fullscreen";
# view focus
"Super H" = "focus-view left";
"Super J" = "focus-view down";
"Super K" = "focus-view up";
"Super L" = "focus-view right";
"Super I" = "focus-view previous";
"Super O" = "focus-view next";
# view movement
"Super+Shift H" = "swap left";
"Super+Shift J" = "swap down";
"Super+Shift K" = "swap up";
"Super+Shift L" = "swap right";
"Super+Shift I" = "swap previous";
"Super+Shift O" = "swap next";
# tag (workspace) management
## switch to workspace
"Super ampersand" = "set-focused-tags 1";
"Super eacute" = "set-focused-tags 2";
"Super quotedbl" = "set-focused-tags 4";
"Super apostrophe" = "set-focused-tags 8";
"Super parenleft" = "set-focused-tags 16";
"Super minus" = "set-focused-tags 32";
"Super egrave" = "set-focused-tags 64";
"Super underscore" = "set-focused-tags 128";
"Super ccedilla" = "set-focused-tags 256";
"Super agrave" = "set-focused-tags 512";
## send to workspace
"Super+Shift ampersand" = "set-view-tags 1";
"Super+Shift eacute" = "set-view-tags 2";
"Super+Shift quotedbl" = "set-view-tags 4";
"Super+Shift apostrophe" = "set-view-tags 8";
"Super+Shift parenleft" = "set-view-tags 16";
"Super+Shift minus" = "set-view-tags 32";
"Super+Shift egrave" = "set-view-tags 64";
"Super+Shift underscore" = "set-view-tags 128";
"Super+Shift ccedilla" = "set-view-tags 256";
"Super+Shift agrave" = "set-view-tags 512";
};
};
map-pointer = {
normal = {
"Super BTN_LEFT" = "move-view";
"Super BTN_RIGHT" = "resize-view";
"Super BTN_MIDDLE" = "toggle-float";
};
};
};
};
}

View file

@ -54,6 +54,9 @@
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
# does this add river to sddm menu?
programs.river.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "fr";