{{- range .monitors }}
hl.monitor({
  output = "{{ .name }}",
  mode = "{{ .width }}x{{ .height }}@{{ .refresh_rate }}",
  position = "{{ .position }}",
  scale = {{ if kindIs "string" .scale }}"{{ .scale }}"{{ else }}{{ .scale }}{{ end }}
  {{- if hasKey . "vrr" }},
  vrr = {{ .vrr }}
  {{- end }}
  {{- if hasKey . "transform" }},
  transform = {{ .transform }}
  {{- end }}
  {{- if hasKey . "bitdepth" }},
  bitdepth = {{ .bitdepth }}
  {{- end }}
  {{- if hasKey . "cm" }},
  cm = "{{ .cm }}"
  {{- end }}
  {{- if hasKey . "supports_hdr" }},
  supports_hdr = {{ .supports_hdr }}
  {{- end }}
  {{- if hasKey . "sdrbrightness" }},
  sdrbrightness = {{ .sdrbrightness }}
  {{- end }}
  {{- if hasKey . "sdrsaturation" }},
  sdrsaturation = {{ .sdrsaturation }}
  {{- end }}
  {{- if hasKey . "max_luminance" }},
  max_luminance = {{ .max_luminance }}
  {{- end }}
})
{{- end }}
{{- if not .monitors }}
hl.monitor({ output = "", mode = "preferred", position = "auto", scale = 1 })
{{- end }}
