57 lines
1.5 KiB
Nix
57 lines
1.5 KiB
Nix
# ABOUTME: Hyprland environment variables configuration
|
|
# ABOUTME: Sets up Wayland, cursor, and application environment variables
|
|
|
|
{ config, lib, pkgs, osConfig ? { }, ... }:
|
|
let
|
|
cfg = import ../config.nix;
|
|
hasNvidiaDrivers = builtins.elem "nvidia" (osConfig.services.xserver.videoDrivers or []);
|
|
nvidiaEnv = [
|
|
"NVD_BACKEND,direct"
|
|
"LIBVA_DRIVER_NAME,nvidia"
|
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
|
];
|
|
in
|
|
{
|
|
wayland.windowManager.hyprland.settings = {
|
|
env = (lib.optionals hasNvidiaDrivers nvidiaEnv) ++ [
|
|
"GDK_SCALE,${toString cfg.scale}"
|
|
|
|
# Cursor size and theme
|
|
"XCURSOR_SIZE,24"
|
|
"HYPRCURSOR_SIZE,24"
|
|
"XCURSOR_THEME,Adwaita"
|
|
"HYPRCURSOR_THEME,Adwaita"
|
|
|
|
# Force Wayland for applications
|
|
"GDK_BACKEND,wayland"
|
|
"QT_QPA_PLATFORM,wayland"
|
|
"QT_STYLE_OVERRIDE,kvantum"
|
|
"SDL_VIDEODRIVER,wayland"
|
|
"MOZ_ENABLE_WAYLAND,1"
|
|
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
|
"OZONE_PLATFORM,wayland"
|
|
|
|
# Chromium Wayland support
|
|
"CHROMIUM_FLAGS,\"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4\""
|
|
|
|
# Make .desktop files available for wofi
|
|
"XDG_DATA_DIRS,$XDG_DATA_DIRS:$HOME/.nix-profile/share:/nix/var/nix/profiles/default/share"
|
|
|
|
# XCompose support
|
|
"XCOMPOSEFILE,~/.XCompose"
|
|
"EDITOR,nvim"
|
|
|
|
# GTK dark theme
|
|
"GTK_THEME,Adwaita:dark"
|
|
];
|
|
|
|
xwayland = {
|
|
force_zero_scaling = true;
|
|
};
|
|
|
|
ecosystem = {
|
|
no_update_news = true;
|
|
};
|
|
};
|
|
}
|