{ config, ... }: { # Monitors wayland.windowManager.sway.config = { workspaceOutputAssign = let workspaces1 = [ "${config.ws.w0}" "${config.ws.w1}" "${config.ws.w2}" "${config.ws.w3}" "${config.ws.w1a}" "${config.ws.w2a}" "${config.ws.w3a}" ]; workspaces2 = [ "${config.ws.w4}" "${config.ws.w5}" "${config.ws.w6}" "${config.ws.w4a}" "${config.ws.w5a}" ]; workspaces3 = [ "${config.ws.w7}" "${config.ws.w8}" "${config.ws.w9}" "${config.ws.w7a}" "${config.ws.w8a}" ]; workspaces4 = [ "${config.ws.w6a}" "${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"; }; }; }; }