Expand description
The deployment map.
The deployment map is a plain-text TSV under <data_dir>/deployment-map.tsv
with a two-line #-comment preamble followed by one TSV row per
datastore entry. An example file:
# dodot deployment map v1
# columns: pack\thandler\tkind\tsource\tdatastore
vim\tshell\tsymlink\t/home/alice/dotfiles/vim/aliases.sh\t/home/alice/.local/share/dodot/packs/vim/shell/aliases.sh
git\tsymlink\tsymlink\t/home/alice/dotfiles/git/gitconfig\t/home/alice/.local/share/dodot/packs/git/symlink/gitconfigThe file is overwritten on every dodot up / dodot down so it
always matches the current datastore state. Its primary consumers
are:
dodot refresh(seedocs/proposals/magic.lex), which needs the source→deployed mapping to decide which source templates to mtime-touch when a deployed file diverges.dodot probe deployment-map, the human-facing reader.
§Sources of truth
The map is derived from the datastore alone — we never re-run the handlers to regenerate it. This keeps the writer trivial and keeps the map honest: if the datastore has drifted from what the handlers would produce today, the map reflects the datastore (which is what the init script reads), not a hypothetical re-derivation.
Structs§
- Deployment
MapEntry - One row in the deployment map.
Enums§
- Deployment
Kind - How a single datastore entry is materialised on disk.
Functions§
- collect_
deployment_ map - Walk the datastore and collect one
DeploymentMapEntryper visible entry under<data_dir>/packs/<pack>/<handler>/. - format_
deployment_ map - Format the deployment map as TSV.
- read_
deployment_ map - Read and parse a deployment-map TSV file.
- write_
deployment_ map - Collect, format, and write the deployment map to
<data_dir>/deployment-map.tsv. Returns the written path.