| 1 |
# Alloy schema for sway's config |
| 2 |
# |
| 3 |
# Target file: ~/.config/sway/config |
| 4 |
# Alloy ships defaults at templates/etc/skel/.config/sway/config.in. |
| 5 |
# |
| 6 |
# A header and nothing else, deliberately. sway's config is i3-style: not TOML, |
| 7 |
# not KDL, and with no roundtrip-safe in-place editor behind it, so there is no |
| 8 |
# form to render and `syntax = "sway"` says so. The console opens it in the |
| 9 |
# text-edit fallback instead. |
| 10 |
# |
| 11 |
# The file exists so sway is IN THE LIST. docs/CONSOLE.md: "An app with no |
| 12 |
# schema still appears in the list and opens the text-edit fallback, because |
| 13 |
# someone looking for 'where do I configure sway' should find an answer rather |
| 14 |
# than an absence." The Applications catalog is built from this directory, so |
| 15 |
# without an entry here that promise cannot be kept, and the answer to "where |
| 16 |
# do I configure sway" is a list that does not mention sway. |
| 17 |
# |
| 18 |
# Adding one for another schema-less app is this file with three strings |
| 19 |
# changed. Declaring the syntax rather than declaring "no form" is what lets a |
| 20 |
# file move tiers later without being rewritten: the day a roundtrip-safe KDL |
| 21 |
# bind lands, every `syntax = "kdl"` schema starts rendering a form on its own. |
| 22 |
|
| 23 |
[schema] |
| 24 |
target = "config" |
| 25 |
target_path = "$XDG_CONFIG_HOME/sway/config" |
| 26 |
target_tool = "sway" |
| 27 |
target_version = ">=1.10" |
| 28 |
schema_version = "1" |
| 29 |
syntax = "sway" |
| 30 |
|