From f7ef29c4163e9d3aba767ddad6df4fadbfceb0c8 Mon Sep 17 00:00:00 2001 From: Christoph Hollizeck Date: Wed, 6 Nov 2024 09:45:25 +0100 Subject: [PATCH] nvidia: move configurations in respective files --- modules/nixos/desktop/hyprland/default.nix | 20 ++++++++++++------- .../system/hardware/gpu/nvidia/default.nix | 17 ++++++++++++++++ systems/x86_64-linux/yggdrasil/default.nix | 8 -------- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix index 339ce00..70dd447 100644 --- a/modules/nixos/desktop/hyprland/default.nix +++ b/modules/nixos/desktop/hyprland/default.nix @@ -114,12 +114,6 @@ in { "$mod" = "SUPER"; - env = [ - "QT_AUTO_SCREEN_SCALE_FACTOR,1" - "QT_QPA_PLATFORM,wayland;xcb" - "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" - ]; - exec-once = [ "${pkgs.hyprpanel}/bin/hyprpanel" "systemctl --user start hyprpolkitagent" @@ -311,7 +305,19 @@ in }; environment.sessionVariables = { - NIXOS_OZONE_WL = "1"; + NIXOS_OZONE_WL = "1"; # Hint electron apps to use wayland + + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + XDG_SESSION_DESKTOP = "Hyprland"; + + QT_AUTO_SCREEN_SCALE_FACTOR = "1"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + QT_QPA_PLATFORM = "wayland;xcb"; + + ELECTRON_OZONE_PLATFORM_HINT = "auto"; + + WLR_DRM_NO_ATOMIC = "1"; }; }; } diff --git a/modules/nixos/system/hardware/gpu/nvidia/default.nix b/modules/nixos/system/hardware/gpu/nvidia/default.nix index d2c4e74..b6eb846 100644 --- a/modules/nixos/system/hardware/gpu/nvidia/default.nix +++ b/modules/nixos/system/hardware/gpu/nvidia/default.nix @@ -32,5 +32,22 @@ in }; services.xserver.videoDrivers = [ "nvidia" ]; + boot.kernelParams = [ + "nvidia_drm.fbdev=1" + + # TODO: remove after https://github.com/NVIDIA/open-gpu-kernel-modules/pull/692 + # and similar are merged and build in nixpkgs-unstable. + # WARNING: this disables tty output and thus hides boot logs. + "initcall_blacklist=simpledrm_platform_driver_init" + ]; + + environment.sessionVariables = { + GBM_BACKEND = "nvidia-drm"; + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + LIBVA_DRIVER_NAME = "nvidia"; + __GL_GSYNC_ALLOWED = "1"; + __GL_VRR_ALLOWED = "0"; + NVD_BACKEND = "direct"; + }; }; } diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index f217373..b9b0041 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -44,14 +44,6 @@ in "Unknown-1, disable" ]; - env = [ - "LIBVA_DRIVER_NAME,nvidia" - "XDG_SESSION_TYPE,wayland" - "GBM_BACKEND,nvidia-drm" - "__GLX_VENDOR_LIBRARY_NAME,nvidia" - "NVD_BACKEND,direct" - ]; - cursor = { no_hardware_cursors = true; };