pub struct HandlerConfig {
pub force_home: Vec<String>,
pub force_app: Vec<String>,
pub app_aliases: HashMap<String, String>,
pub protected_paths: Vec<String>,
pub targets: HashMap<String, String>,
pub auto_chmod_exec: bool,
pub pack_ignore: Vec<String>,
}Expand description
Configuration subset relevant to handlers.
Populated from DodotConfig::to_handler_config(). Carries exactly
what handlers need without coupling them to the full config.
Fields§
§force_home: Vec<String>Paths that must be forced to $HOME (e.g. ["ssh", "bashrc"]).
force_app: Vec<String>Paths that must be forced to the app-support root (e.g.
["Code", "Cursor"]). Curated GUI-app folder names whose first
path segment routes to <app_support_dir>/<seg>/<rest> without
requiring a _app/ prefix in the pack tree. See
docs/proposals/macos-paths.lex §3.4.
app_aliases: HashMap<String, String>Pack-name → app-support folder name rewrites. When the pack
name appears as a key here, the resolver’s default rule routes
through <app_support_dir>/<alias>/<rel_path> instead of
$XDG_CONFIG_HOME/<pack>/<rel_path>. See app_aliases in
docs/proposals/macos-paths.lex §3.3.
protected_paths: Vec<String>Paths that must not be symlinked (e.g. [".ssh/id_rsa"]).
targets: HashMap<String, String>Per-file custom symlink target overrides. Key = relative path in pack, Value = target path.
auto_chmod_exec: boolWhether to auto-chmod +x files in path-handler directories.
See PathSection::auto_chmod_exec.
pack_ignore: Vec<String>Pack-level ignore patterns (from [pack] ignore). Handlers that
recurse into a matched directory should apply these so the
per-file fallback doesn’t pick up .DS_Store, .git, etc.
Trait Implementations§
Source§impl Clone for HandlerConfig
impl Clone for HandlerConfig
Source§fn clone(&self) -> HandlerConfig
fn clone(&self) -> HandlerConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more