Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

config.toml

A target’s .devset/config.toml: its sources, its layers, and its word on every setting they carry. Composing Profiles and Settings explain it.

Editors complete and check it from its schema, as Schemas says.

[sources]

Where profiles come from, each named once. Each entry:

KeyTakesMeaning
gitstringRepository URL.
tagstringTag to use; only with git.
branchstringBranch to use; only with git.
revstringFull commit id to use; only with git.
pathstringThe profile’s directory: relative to the target, or within the repository with git.

[[layers]]

Profiles to apply, in order. Each entry:

KeyTakesMeaning
profilestring, requiredThe profile, source/name.
featureslist of stringsIts features to turn on, beside its default ones.
default-featuresbooleanWhether its default features are on; unless a profile that requires it turns them on.

[merge]

Merge settings; these override every layer’s.

KeyTakesMeaning
on-conflictapply-others or apply-noneWhat a run does when a file conflicts.
driverstringA merge program, with %O %A %B %P substituted. From a profile it is only a suggestion: devset never runs a program a profile names.

on-conflict takes:

  • apply-others: write every other file and advance the lock; conflicts wait in .devset/conflicts/.
  • apply-none: write nothing but the conflicts until every one is resolved.

[files."<path>"]

Overrides of the layers’ [files] entries. Each entry:

KeyTakesMeaning
fromstringThe layer that provides the file, when several do.
policyowned, merge or onceHow devset manages the file.
validatetoml, json, yaml or noneHow a merged result is checked.

policy takes:

  • owned: the profile is authoritative; local edits are drift.
  • merge: local edits are kept, and merged with the profile’s.
  • once: written once if absent; the target’s from then on.

validate takes:

  • toml: TOML.
  • json: JSON with comments and trailing commas (JSONC), a superset of JSON.
  • yaml: YAML.
  • none: not checked.