Files
DCGOS/home/wayland/hyprland.nix
2025-07-22 12:18:15 +08:00

61 lines
1.1 KiB
Nix

{
hostname,
lib,
pkgs,
...
}:
let
inherit (import ../../hosts/${hostname}/env.nix)
GPU-Nvidia
MonitorSettings
KeyboardLayout
ScaleLevel
WM
;
in
with lib;
mkIf (WM == "Hyprland") {
home.packages = with pkgs; [
xorg.xprop
];
wayland.windowManager.hyprland = {
enable = true;
plugins = [
pkgs.hyprlandPlugins.hy3
];
systemd = {
enable = true;
variables = [ "--all" ];
};
xwayland.enable = true;
extraConfig = concatStrings [
''
${MonitorSettings}
$KEYBOARDLAYOUT = ${KeyboardLayout}
$SCALE = ${ScaleLevel}
source = ~/.config/hypr/hyprland/*
''
];
settings = mkIf GPU-Nvidia {
env = [
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"GBM_BACKEND,nvidia-drm"
"LIBVA_DRIVER_NAME,nvidia"
"NVD_BACKEND,direct"
"WLR_NO_HARDWARE_CURSORS,1"
];
};
};
xdg.portal = {
config = {
common = {
default = [ "gtk" ];
};
};
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
}