# # Hyprland Configuration # Enable with "hyprland.enable = true;" # { config, lib, system, pkgs, unstable, hyprland, vars, host, ... }: with lib; with host; { options = { hyprland = { enable = mkOption { type = types.bool; default = false; }; }; }; config = mkIf (config.hyprland.enable) { #wlwm.enable = true; # Wayland Window Manager environment = { # variables = { # #WLR_NO_HARDWARE_CURSORS="1"; # Needed for VM # #WLR_RENDERER_ALLOW_SOFTWARE="1"; # XDG_CURRENT_DESKTOP = "Hyprland"; # XDG_SESSION_TYPE = "wayland"; # XDG_SESSION_DESKTOP = "Hyprland"; # }; # sessionVariables = # if hostName == "desktop" # then { # GBM_BACKEND = "nvidia-drm"; # #__GL_GSYNC_ALLOWED = "0"; # #__GL_VRR_ALLOWED = "0"; # #WLR_DRM_NO_ATOMIC = "1"; # __GLX_VENDOR_LIBRARY_NAME = "nvidia"; # #_JAVA_AWT_WM_NONREPARENTING = "1"; # # QT_QPA_PLATFORM = "wayland"; # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; # # GDK_BACKEND = "wayland"; # WLR_NO_HARDWARE_CURSORS = "1"; # MOZ_ENABLE_WAYLAND = "1"; # NIXOS_OZONE_WL = "1"; # } # else { # QT_QPA_PLATFORM = "wayland"; # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; # # GDK_BACKEND = "wayland"; # WLR_NO_HARDWARE_CURSORS = "1"; # MOZ_ENABLE_WAYLAND = "1"; # }; systemPackages = with pkgs; [ grim # Grab Images slurp # Region Selector wl-clipboard # Clipboard wlr-randr # Monitor Settings ]; }; programs = { hyprland = { # Window Manager enable = true; package = hyprland.packages.${pkgs.system}.hyprland; nvidiaPatches = if hostName == "desktop" then true else false; }; }; nix.settings = { substituters = ["https://hyprland.cachix.org"]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; }; # Cache }; }