feat(river): add binds and polish a bit

nixos
Moritz Böhme 2024-03-24 13:21:59 +01:00
parent e1a1c5060f
commit 9acdfd5e4b
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
1 changed files with 68 additions and 25 deletions

View File

@ -17,11 +17,7 @@ in
description = "list of keyboard layouts"; description = "list of keyboard layouts";
default = [ "de" "us" ]; default = [ "de" "us" ];
}; };
monitors = mkOption { nvidiaSupport = mkEnableOption "nvidiaSupport";
type = types.listOf types.str;
description = "monitor settings";
default = [ ",preferred,auto,1" ];
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -44,7 +40,13 @@ in
}; };
home-manager.users.moritz = { home-manager.users.moritz = {
# enable home-manager module home.packages = with pkgs; [
rivercarro
];
services.kanshi = {
enable = true;
systemdTarget = "river-session.target";
};
wayland.windowManager.river = { wayland.windowManager.river = {
enable = true; enable = true;
package = pkgs.river.overrideAttrs (old: { package = pkgs.river.overrideAttrs (old: {
@ -76,9 +78,44 @@ in
"Super Return" = ''spawn "systemctl --user is-active --quiet foot && footclient --no-wait || foot"''; "Super Return" = ''spawn "systemctl --user is-active --quiet foot && footclient --no-wait || foot"'';
"Super+Shift Return" = "spawn foot"; "Super+Shift Return" = "spawn foot";
"Super R" = ''spawn 'exec $(tofi-run --fuzzy-match=true)' ''; "Super R" = ''spawn 'exec $(tofi-run --fuzzy-match=true)' '';
"Super W" = ''spawn "pkill -USR1 waybar"'';
"Super+Shift R" = "spawn ~/.config/river/init";
# Focus view
"Super J" = "focus-view next";
"Super K" = "focus-view previous";
# swap the focused view
"Super+Shift J" = "swap next";
"Super+Shift K" = "swap previous";
# focus output
"Super Period" = "focus-output next";
"Super Comma" = "focus-output previous";
# send to output
"Super+Shift Period" = "send-to-output next";
"Super+Shift Comma" = "send-to-output previous";
# bump in layout stack
"Super Z" = "zoom";
};
};
map-pointer = {
normal = {
"Super BTN_LEFT" = "move-view";
"Super BTN_RIGHT" = "resize-view";
"Super BTN_MIDDLE" = "toggle-float";
}; };
}; };
}; };
extraConfig = /* bash */ ''
riverctl default-layout rivercarro
rivercarro_pid="$(pidof rivercarro)"
if [[ -z $rivercarro_pid ]]; then
rivercarro -inner-gaps 4 -outer-gaps 4
fi
'';
}; };
# add waybar as a status bar # add waybar as a status bar
@ -97,7 +134,7 @@ in
layer = "top"; layer = "top";
position = "top"; position = "top";
height = 20; height = 20;
modules-left = [ "river/mode" ]; modules-left = [ "river/tags" ];
modules-center = [ "river/window" ]; modules-center = [ "river/window" ];
modules-right = [ "network" "memory" "cpu" "battery" "clock" ]; modules-right = [ "network" "memory" "cpu" "battery" "clock" ];
}; };
@ -157,24 +194,30 @@ in
# additional environment variables # additional environment variables
# environment.sessionVariables = environment.sessionVariables =
# { {
# XDG_CURRENT_DESKTOP = "Hyprland"; XDG_CURRENT_DESKTOP = "river";
# XDG_SESSION_TYPE = "wayland"; XDG_SESSION_TYPE = "wayland";
# XDG_SESSION_DESKTOP = "Hyprland"; XDG_SESSION_DESKTOP = "river";
# QT_AUTO_SCREEN_SCALE_FACTOR = "1"; QT_AUTO_SCREEN_SCALE_FACTOR = "1";
# QT_QPA_PLATFORM = "wayland;xcb"; QT_QPA_PLATFORM = "wayland;xcb";
# QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
# QT_QPA_PLATFORMTHEME = "qt5ct"; QT_QPA_PLATFORMTHEME = "qt5ct";
# _JAVA_AWT_WM_NONEREPARENTING = "1"; _JAVA_AWT_WM_NONEREPARENTING = "1";
# } // (optionalAttrs cfg.nvidiaSupport } // (optionalAttrs cfg.nvidiaSupport
# { {
# LIBVA_DRIVER_NAME = "nvidia"; GBM_BACKEND = "nvidia-drm";
# GBM_BACKEND = "nvidia-drm"; GDK_BACKEND = "wayland";
# __GLX_VENDOR_LIBRARY_NAME = "nvidia"; LIBVA_DRIVER_NAME = "nvidia";
# WLR_NO_HARDWARE_CURSORS = "1"; MOZ_ENABLE_WAYLAND = "1";
# __GL_VRR_ALLOWED = "0"; WLR_DRM_DEVICES = "/dev/dri/card0";
# }); WLR_DRM_NO_ATOMIC = "1";
WLR_NO_HARDWARE_CURSORS = "1";
XDG_CURRENT_DESKTOP = "river";
_GL_GSYNC_ALLOWED = "0";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
__GL_VRR_ALLOWED = "0";
});
services = { services = {
dbus.enable = true; dbus.enable = true;