{ config, ... }: { # Monitors wayland.windowManager.sway.config = { workspaceOutputAssign = let workspaces1 = [ "0:${config.ws.w0}" "1:${config.ws.w1}" "2:${config.ws.w2}" "3:${config.ws.w3}" "11:${config.ws.w1a}" "22:${config.ws.w2a}" "33:${config.ws.w3a}" ]; workspaces2 = [ "4:${config.ws.w4}" "5:${config.ws.w5}" "6:${config.ws.w6}" "44:${config.ws.w4a}" "55:${config.ws.w5a}" ]; workspaces3 = [ "7:${config.ws.w7}" "8:${config.ws.w8}" "9:${config.ws.w9}" "77:${config.ws.w7a}" "88:${config.ws.w8a}" ]; workspaces4 = [ "66:${config.ws.w6a}" "99:${config.ws.w9a}" ]; assign = output: workspaces: map (workspace: { inherit workspace; inherit output; }) workspaces; in (assign "${config.displays.d1}" workspaces1) ++ (assign "${config.displays.d2}" workspaces2) ++ (assign "${config.displays.d3}" workspaces3) ++ (assign "${config.displays.d4}" workspaces4); output = { ${config.displays.d1} = { pos = "3840 405"; mode = "1920x1080@143.980Hz"; max_render_time = "3"; adaptive_sync = "on"; }; ${config.displays.d2} = { pos = "1920 405"; mode = "1920x1080@60Hz"; max_render_time = "3"; }; ${config.displays.d3} = { pos = "5760 0"; mode = "1680x1050@59.883Hz"; transform = "270"; max_render_time = "3"; }; ${config.displays.d4} = { pos = "0 405"; mode = "1920x1080@60Hz"; max_render_time = "3"; }; }; }; }