diff --git a/home/modules/desktop/wayland/windowManager/default.nix b/home/modules/desktop/wayland/windowManager/default.nix index 761bbb4..3b67bcd 100644 --- a/home/modules/desktop/wayland/windowManager/default.nix +++ b/home/modules/desktop/wayland/windowManager/default.nix @@ -8,6 +8,11 @@ options.homeModules.desktop.wayland.windowManager = { hyprland = { enable = lib.mkEnableOption "Enable Hyprland window-manager"; + nvidia = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Apply Hyprland nvidia settings"; + }; }; }; diff --git a/home/modules/desktop/wayland/windowManager/hyprland/appearance.nix b/home/modules/desktop/wayland/windowManager/hyprland/appearance.nix index dc9bec3..43ca1cf 100644 --- a/home/modules/desktop/wayland/windowManager/hyprland/appearance.nix +++ b/home/modules/desktop/wayland/windowManager/hyprland/appearance.nix @@ -1,6 +1,7 @@ { config, lib, ... }: let cfg = config.homeModules.desktop.wayland.windowManager.hyprland; + pointer = config.home.pointerCursor; in { config = lib.mkIf cfg.enable { @@ -20,6 +21,10 @@ in }; dwindle.split_width_multiplier = 1.35; + exec-once = [ + "hyprctl setcursor ${pointer.name} ${toString pointer.size}" + ]; + decoration = { active_opacity = 1.0; inactive_opacity = 1.0; diff --git a/home/modules/desktop/wayland/windowManager/hyprland/binds.nix b/home/modules/desktop/wayland/windowManager/hyprland/binds.nix index bd3be4d..faa5ee6 100644 --- a/home/modules/desktop/wayland/windowManager/hyprland/binds.nix +++ b/home/modules/desktop/wayland/windowManager/hyprland/binds.nix @@ -92,7 +92,7 @@ in "SUPER, Q, killactive" "SUPER CTRL, backspace, killactive" - "SUPERSHIFT ALT, delete, exit" + "SUPERSHIFT ALT, delete, exec, pkill Hyprland" "SUPER, F, fullscreen" "SUPER, Space, togglefloating" "SUPER, P, pseudo" # dwindle diff --git a/home/modules/desktop/wayland/windowManager/hyprland/default.nix b/home/modules/desktop/wayland/windowManager/hyprland/default.nix index d720ce5..5974dd6 100644 --- a/home/modules/desktop/wayland/windowManager/hyprland/default.nix +++ b/home/modules/desktop/wayland/windowManager/hyprland/default.nix @@ -46,6 +46,14 @@ in disable_hyprland_logo = true; force_default_wallpaper = 0; }; + + env = lib.mkIf cfg.nvidia [ + "LIBVA_DRIVER_NAME,nvidia" + "XDG_SESSION_TYPE,wayland" + "GBM_BACKEND,nvidia-drm" + "__GLX_VENDEOR_LIBRARY_NAME,nvidia" + "WLR_NO_HARDWARE_CURSORS,1" + ]; gestures = { workspace_swipe = true; diff --git a/home/user/ooks/ooksdesk/default.nix b/home/user/ooks/ooksdesk/default.nix index 46e1cf6..3de4e35 100644 --- a/home/user/ooks/ooksdesk/default.nix +++ b/home/user/ooks/ooksdesk/default.nix @@ -15,6 +15,7 @@ indentBlankline = true; }; }; + homeModules.desktop.wayland.windowManager.hyprland.nvidia = true; monitors = [{ name = "DP-1";