{
  flake.modules.homeManager.hyprland = {
    wayland.windowManager.hyprland.settings = {
      "$mod" = "SUPER";
      "$browser" = "zen";
      "$term" = "kitty";

      general = {
        border_size = 2;
        gaps_in = 0;
        gaps_out = 5;
        layout = "dwindle";
        allow_tearing = false;
        resize_on_border = true;
      };

      snap = { };

      input = {
        kb_layout = "de";
        follow_mouse = 1;
      };

      bind =
        [
          "$mod, Q, exit"
          "$mod, Return, exec, $term"
          "$mod, D, exec, rofi -show drun -modes drun,calc"
          "$mod, F2, exec, $browser"
          "$mod, c, killactive"
          "$mod, f, fullscreen"
          "$mod, h, movefocus, l"
          "$mod, j, movefocus, d"
          "$mod, k, movefocus, u"
          "$mod, l, movefocus, r"
          "$mod+SHIFT, h, movewindow, l"
          "$mod+SHIFT, j, movewindow, d"
          "$mod+SHIFT, k, movewindow, u"
          "$mod+SHIFT, l, movewindow, r"
          ", Print, exec, grim -g \"$(slurp)\" \"/home/weckyy702/Pictures/screenshots/$(date -Iseconds).png\""
          "$mod+SHIFT, s, exec, hyprlock"
        ]
        ++
        # Switch workspaces
        (map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [ 0 1 2 3 4 5 6 7 8 9 ])
        ++ (map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspacesilent, ${builtins.toString i}") [ 0 1 2 3 4 5 6 7 8 9 ]);

      bindm = [
        "$mod, mouse:272, movewindow"
      ];

      bindel = [
        ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
        ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
      ];

      bindl = [
        ", XF86AudioNext, exec, playerctl position 5+"
        ", XF86AudioPrev, exec, playerctl position 5-"
        ", XF86AudioPlay, exec, playerctl play-pause"
      ];

      bindo = [
        ", XF86AudioNext, exec, playerctl next"
        ", XF86AudioPrev, exec, playerctl previous"
      ];

      decoration = {
        shadow.enabled = false;
        blur.enabled = true;
        active_opacity = 0.8;
        inactive_opacity = 0.8;
      };

      animations.enabled = false;

      misc.disable_hyprland_logo = true;

      cursor.inactive_timeout = 3;

      ecosystem.no_update_news = true;
      ecosystem.no_donation_nag = true;
    };
  };
}
