Unverified Commit d18a587b authored by John Titor's avatar John Titor
Browse files

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
parent bf93cd2c
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -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"