diff options
author | John Titor <50095635+JohnRTitor@users.noreply.github.com> | 2024-04-27 11:44:44 +0530 |
---|---|---|
committer | John Titor <50095635+JohnRTitor@users.noreply.github.com> | 2024-04-27 11:44:44 +0530 |
commit | d18a587b780447056ce9d316d68f5d418582dab3 (patch) | |
tree | c2a6de72b2fc11a53861fe4ab69ba17929bf005d /nixos/modules | |
parent | bf93cd2c566a29f96dd690d9fd0079caa10b925a (diff) |
nixos/hyprland: Set environment variables for Hyprland to work better
XDG vars set to Hyprland GTK and QT backend set to wayland (preferred), with x11 as fallback Java AWT fix for tiling window managers
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/programs/wayland/hyprland.nix | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/nixos/modules/programs/wayland/hyprland.nix b/nixos/modules/programs/wayland/hyprland.nix index 5891ff25e4375..e648eaa1b68e4 100644 --- a/nixos/modules/programs/wayland/hyprland.nix +++ b/nixos/modules/programs/wayland/hyprland.nix @@ -42,6 +42,15 @@ in xwayland.enable = mkEnableOption ("XWayland") // { default = true; }; + envVars.enable = mkEnableOption null // { + default = true; + example = false; + description = '' + Set environment variables for Hyprland to work properly. + Enabled by default. + ''; + }; + systemd.setPath.enable = mkEnableOption null // { default = true; example = false; @@ -74,6 +83,15 @@ in configPackages = mkDefault [ cfg.finalPackage ]; }; + environment.sessionVariables = mkIf cfg.envVars.enable { + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + GDK_BACKEND = "wayland,x11"; + QT_QPA_PLATFORM = "wayland;xcb"; + _JAVA_AWT_WM_NONREPARENTING = "1"; # Fix for Java applications on tiling window managers + }; + systemd = mkIf cfg.systemd.setPath.enable { user.extraConfig = '' DefaultEnvironment="PATH=$PATH:/run/current-system/sw/bin:/etc/profiles/per-user/%u/bin:/run/wrappers/bin" |