{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 = { "$mainMod" = "SUPER"; "$terminal" = "kitty"; "$fileManager" = "dolphin"; "$browser" = "firefox"; "$editor" = "codium"; exec-once = [ # run once on startup "pyper" ]; bind = [ # Manage Windows "$mainMod, Tab, exec, pypr expose" # Launch Bindings "$mainMod, Enter, exec, rofi -show drun" "$mainMod, T, exec, $terminal" "$mainMod, B, exec, $browser" "$mainMod, C, exec, $editor" "$mainMod, Q, killactive," "$mainMod, M, exit," "$mainMod, F, exec, $fileManager" "$mainMod, W, togglefloating," # Volume and Media Controls ", XF86AudioRaiseVolume, exec, pamixer -i 5" ", XF86AudioLowerVolume, exec, pamixer -d 5" ", XF86AudioMicMute, exec, pamixer --default-source -m" ", XF86AudioMute, exec, pamixer -t" ", XF86AudioPlay, exec, playerctl play-pause" ", XF86AudioPause, exec, playerctl play-pause" ", XF86AudioNext, exec, playerctl next" ", XF86AudioPrev, exec, playerctl previous" # Brightness ", XF86MonBrightnessUp, exec, brightnessctl s +5%" ", XF86MonBrightnessDown, exec, brightnessctl s 5%-" ]; bindm = [ # mouse movements "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; input = { touchpad = { natural_scroll = true; }; }; gestures = { "workspace_swipe" = true; "workspace_swipe_fingers" = 3; }; }; }; 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; }; home.packages = with pkgs; [ pyprland ]; }