Skip to main content

Module config

Module config 

Source
Expand description

TOML schema for yui configuration.

Loading flow:

  1. list config.toml + config.*.toml (alphabetical) + config.local.toml (last)
  2. for each file: Tera-render with yui.* + env(…) + accumulated vars.* from prior files → parse TOML → merge into accumulator (deep merge, arrays append).
  3. deserialize the final merged table into Config.

Note: a file cannot reference its own [vars] keys from non-[vars] sections (the file is rendered before its own vars are accumulated). Use prior files in merge order if you need cross-section references.

Structs§

AbsorbConfig
BackupConfig
Config
HookConfig
One hook = one script invocation triggered around yui apply.
LinkConfig
MountConfig
MountEntry
RenderConfig
RenderRule
SecretsConfig
[secrets] — wires the age encryption pipeline into apply.
UiConfig
VaultConfig
[secrets.vault] — points yui at a vault item that holds the X25519 identity. yui doesn’t authenticate against the vault itself; it shells out to the provider’s official CLI (bw or op), which already knows how to drive its own auth flow (master password, biometric, passkey-via-web-vault, SSO).

Enums§

AnomalyAction
DirLinkMode
FileLinkMode
HookPhase
IconsMode
MountStrategy
VaultProvider
WhenRun

Constants§

VAULT_ITEM_NAME
Vault item name yui stores the X25519 identity under. Hardcoded rather than configurable — the realistic “I have multiple yui dotfiles trees sharing one vault account” case is rare enough that the simplification of one-less config knob wins. Add a configurable knob back if a user actually hits the collision.

Functions§

load
Load + merge config files from $DOTFILES.