{ config, lib, pkgs, ... }: with lib; let cfg = config.custom.desktops.hyprland; in { options.custom.desktops.hyprland.enable = mkOption {default = false;}; config = mkIf cfg.enable { custom.desktops.hyprland = mkIf config.custom.full { binds.enable = true; plugins.enable = true; rules.enable = true; settings.enable = true; }; # https://github.com/hyprwm/Hyprland programs.hyprland.enable = true; xdg.portal = { enable = true; extraPortals = [pkgs.xdg-desktop-portal-gtk]; # Prefer hyprland over gtk portal config.common.default = [ "hyprland" "gtk" ]; }; # https://wiki.hyprland.org home-manager.users.${config.custom.username}.wayland.windowManager.hyprland = { enable = true; systemd.variables = ["--all"]; # Import some environment variables into session }; }; }