{pkgs, ...}: { wayland.windowManager.hyprland = { # Whether to enable Hyprland wayland compositor enable = true; # The hyprland package to use package = pkgs.hyprland; # Whether to enable XWayland xwayland.enable = true; # Optional # Whether to enable hyprland-session.target on hyprland startup systemd.enable = true; settings = { "$mod" = "SUPER"; "$terminal" = "kitty"; "$launcher" = "rofi"; exec-once = [ # run once on startup "ags" ]; bind = [ ",$mod, exec, $launcher" "$mod, q, quit" "$mod, r, restart" "$mod, Enter, exec, $terminal" ]; bindm = [ # mouse movements "$mod, mouse:272, movewindow" "$mod, mouse:273, resizewindow" "$mod ALT, mouse:272, resizewindow" ]; }; }; programs.ags = { enable = true; # null or path, leave as null if you don't want hm to manage the config configDir = ./ags; # additional packages to add to gjs's runtime extraPackages = with pkgs; [ gtksourceview webkitgtk accountsservice ]; }; programs.rofi = { enable = true; package = pkgs.rofi-wayland; }; programs.kitty = { enable = true; package = pkgs.kitty; }; }