{ lib, nixosConfig, ... }:
let
  cfg = nixosConfig.my.desktop;
in
{
  wayland.windowManager.hyprland = lib.mkIf (cfg.enable && cfg.hyprland.enable) {
    settings = {
      "$altscreenworkspace" = "11";
      "$mainmonitor" = "GIGA-BYTE TECHNOLOGY CO. LTD. AORUS FO32U2 24210B000546";

      workspace = [
        "1, monitor:desc:$mainmonitor, default:true"
        "2, monitor:desc:$mainmonitor"
        "3, monitor:desc:$mainmonitor"
        "4, monitor:desc:$mainmonitor"
        "5, monitor:desc:$mainmonitor"
        "6, monitor:desc:$mainmonitor"
        "7, monitor:desc:$mainmonitor"
        "8, monitor:desc:$mainmonitor"
        "9, monitor:desc:$mainmonitor"
        "10, monitor:desc:$mainmonitor"

        "$altscreenworkspace, monitor:desc:Samsung Electric Company LF32TU87 HNTT700129, default:true"
        "$altscreenworkspace, layoutopt:orientation:bottom"

        "21, monitor:desc:Technical Concepts Ltd Beyond TV 0x00010000, default:true"

        # ######## Workspace rules ########
        "special:special, gapsout:30"
      ];

      # Launchers need to be FAST
      layerrule = [ "match:namespace gtk4-layer-shell, no_anim on" ];
    };
  };
}

