Skip to main content

max / alloy

1.3 KB · 30 lines History Blame Raw
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