#############################
### ENVIRONMENT VARIABLES ###
#############################

# Documentation: https://wiki.hyprland.org/Configuring/Environment-variables/

###############
## OVERRIDES ##
###############

env = MOZ_ENABLE_WAYLAND,1      # Force firefox to run natively under wayland.
env = EDITOR,neovim             # Set neovim as default editor.

##############
## HYPRLAND ##
##############

#env = HYPRLAND_TRACE,1         # Enables verbose logging.
#env = HYPRLAND_NO_RT,1         # Disables realtime priority setting by Hyprland.
#env = HYPRLAND_NO_SD_NOTIFY,1  # If systemd, disables the 'sd_notify' calls.
#env = HYPRLAND_NO_SD_VARS,1    # Disables management of variables in systemd and dbus activation environments


################
## AQUAMARINE ##
################

#env = AQ_TRACE,1                # Enables verbose logging.
#env = AQ_DRM_DEVICE,CardsHere   # Explicitly define DRM devices to use. Colon-separated list of paths, with the first being the primary. E.g. /dev/dri/card1:/dev/dri/card0
#env = AQ_MPGU_NO_EXPLICIT,1     # Disables explicit syncing on mgpu buffers.
#env = AQ_NO_MODIFIERS,1         # Disables modifiers for DRM buffers.


#####################
## TOOLKIT BACKEND ##
#####################

#env = GDK_BACKEND,wayland,x11,*     # GTK: Use wayland if available. If not: try x11, then any other GDK backend.
#env = GDK_SCALE,1
env = QT_QPA_PLATFORM,wayland;xcb   # Qt: Use wayland if available, fall back to x11 if not.
#env = SDL_VIDEODRIVER,wayland       # Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
#env = CLUTTER_BACKEND,wayland       # Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend


###############
## XDG SPECS ##
###############

env = XDG_CURRENT_DESKTOP,Hyprland  # Specify the DE being used.
env = XDG_SESSION_TYPE,wayland      # Specify the graphic environment of the session.
env = XDG_SESSION_DESKTOP,Hyprland  # Specify the DE of the session.


########
## QT ##
########

env = QT_AUTO_SCREEN_SCALE_FACTOR,1             # Enables automatic scaling, based on the monitor’s pixel density.
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1     # Disables window decorations on Qt applications
#env = QT_QPA_PLATFORMTHEME,qt5ct                # Tells Qt based applications to pick your theme from qt5ct, use with Kvantum.


############
## NVIDIA ##
############

# Useful info: https://wiki.hyprland.org/Nvidia/

# Set the following to force GBM as backend:
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia

# Hardware acceleration. More info: https://wiki.archlinux.org/title/Wayland#Requirements
env = LIBVA_DRIVER_NAME,nvidia

# Controls if G-Sync capable monitors use Variable Refresh Rate (VBR). More info: https://wiki.archlinux.org/title/Hardware_video_acceleration
#env = __GL_GSYNC_ALLOWED

# Controls if Adaptive Sync should be used. Recommended to set as “0” to avoid having problems on some games.
#env = __GL_VRR_ALLOWED,0

# Use legacy DRM interface instead of atomic mode setting. NOT recommended.
#env = AQ_NO_ATOMIC,1


#############
## THEMING ##
#############

env = GTK_THEME,Adwaita:dark    # Override GTK theme, useful if you want to avoid appearance tools such as lxappearance or nwg-look.
#env = XCURSOR_THEME,someTheme   # Set cursor theme. The theme needs to be installed and readable by your user.
env = XCURSOR_SIZE,24           # Set cursor size. Why? Because: https://wiki.hyprland.org/FAQ/
env = HYPRCURSOR_SIZE,24