{
  config,
  lib,
  ...
}: let
  terminal = "foot";
  fileManager = "nautilus -w";
  discord = "vesktop";
  telegram = "telegram-desktop";
  browser = "zen";
  menu = "anyrun";

  cfg = config.universe.de.hyprland;
in {
  config = lib.mkIf cfg.enable {
    wayland.windowManager.hyprland.settings = {
      bind = [
        # Software
        "SUPER, RETURN, exec, ${terminal}"
        "SUPER, E, exec, ${fileManager}"
        "SUPER, D, exec, ${discord}"
        "SUPER, T, exec, ${telegram}"
        "SUPER, B, exec, ${browser}"

        # Controls
        "SUPER, Q, killactive, "
        "SUPER, M, exit, "
        "SUPER, C, togglefloating, "
        "SUPER, SPACE, exec, ${menu}"
        "SUPER, Z, pseudo"
        "SUPER, V, layoutmsg, swapsplit"
        "SUPER, X, togglesplit"
        "SUPER, Home, exec, hyprshot -m region"
        "SUPER, Prior, exec, hyprshot -m window"
        "SUPER, Next, exec, hyprshot -m output"
        "SUPER Ctrl, Q, exec, $locker"

        # Media
        ", XF86AudioPlay, exec, playerctl play-pause"
        ", XF86AudioNext, exec, playerctl next"
        ", XF86AudioPrev, exec, playerctl previous"
        ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
        ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+"
        ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"

        # Focus
        "SUPER, left, movefocus, l "
        "SUPER, right, movefocus, r "
        "SUPER, up, movefocus, u "
        "SUPER, down, movefocus, d "

        # Workspaces
        "SUPER, 1, workspace, 1 "
        "SUPER, 2, workspace, 2 "
        "SUPER, 3, workspace, 3 "
        "SUPER, 4, workspace, 4 "
        "SUPER, 5, workspace, 5 "
        "SUPER, 6, workspace, 6 "
        "SUPER, 7, workspace, 7"
        "SUPER, 8, workspace, 8"
        "SUPER, 9, workspace, 9"
        "SUPER, 0, workspace, 10"
        "SUPER SHIFT, 1, movetoworkspace, 1"
        "SUPER SHIFT, 2, movetoworkspace, 2"
        "SUPER SHIFT, 3, movetoworkspace, 3"
        "SUPER SHIFT, 4, movetoworkspace, 4"
        "SUPER SHIFT, 5, movetoworkspace, 5"
        "SUPER SHIFT, 6, movetoworkspace, 6"
        "SUPER SHIFT, 7, movetoworkspace, 7"
        "SUPER SHIFT, 8, movetoworkspace, 8"
        "SUPER SHIFT, 9, movetoworkspace, 9"
        "SUPER SHIFT, 0, movetoworkspace, 10"
        "SUPER, mouse_down, workspace, e+1"
        "SUPER, mouse_up, workspace, e-1"
      ];
      bindm = [
        "SUPER, mouse:272, movewindow"
        "SUPER, mouse:273, resizewindow"
      ];
    };
  };
}