{ config, ... }: { # Monitors wayland.windowManager.sway.config = { workspaceOutputAssign = with config.vars.ws; with config.vars.displays; let workspaces1 = [ "0:${w0}" "1:${w1}" "2:${w2}" "3:${w3}" "11:${w1a}" "22:${w2a}" "33:${w3a}" ]; workspaces2 = [ "4:${w4}" "5:${w5}" "6:${w6}" "44:${w4a}" "55:${w5a}" ]; workspaces3 = [ "7:${w7}" "8:${w8}" "9:${w9}" "77:${w7a}" "88:${w8a}" ]; workspaces4 = [ "66:${w6a}" "99:${w9a}" ]; assign = output: workspaces: map (workspace: { inherit workspace; inherit output; }) workspaces; in (assign "${tower1}" workspaces1) ++ (assign "${tower2}" workspaces2) ++ (assign "${tower3}" workspaces3) ++ (assign "${tower4}" workspaces4); }; }