Expand description
krypt-core — the engine.
Everything that does real work lives here, behind a stable Rust API.
The krypt binary (in krypt-cli) is a thin shell around this crate.
Current modules:
-
config—.krypt.tomlschema, parser, validator (issue #9) -
paths—${VAR}resolution with XDG defaults + platform gating (issue #11) -
[
include] —include = [...]glob expansion and config merging (issue #10) -
copy— plan + atomic deploy of [[link]] and [[template]] entries to their resolved destinations (issue #12) -
manifest— versioned record of what was deployed, with sha256 hashes for drift detection (issue #13) -
deploy— high-level link / unlink / relink orchestration over the other modules (issue #15) -
tool_config—${XDG_CONFIG}/krypt/config.tomlschema + I/O (issue #14) -
init—krypt initorchestration: clone + write tool config (issue #14) -
update—krypt updateorchestration: pull repo + re-deploy (issue #17) -
adopt—krypt adopt/krypt adopt-edits: import existing dotfiles into the repo and sync in-place edits back (issue #16) -
doctor—krypt doctordiagnostic health-check: prints one status line per check and serializes to JSON for--json(issue #20) -
setup—krypt setupinteractive wizard: reads[prompts]sections, asks questions, and applies one of four built-in writers (gitconfig, hypr_vars, env, generic_template) (issue #18). -
runner— step runner DSL: executes aVec<Step>from a[[command]]or[[hook]]declaratively, with injected process, notifier, and prompter dependencies (issue #23). -
predicate— predicate grammar + evaluator forif =conditions:command_exists,env,platform,file_exists, negation (!), and AND (,).predicate::default_predicate_evaluatorwires apredicate::PredicateEnvinto the runner’s closure parameter (issue #24). -
notify— cross-platform notification backends:notify-send(Linux),osascript/terminal-notifier(macOS), PowerShell (Windows), withstderrfallback.notify::AutoNotifierimplements therunner::Notifiertrait and replaces the oldRealNotifierstub (issue #26). -
dispatch— generickrypt <group> <name>dispatcher: list and run[[command]]entries from.krypt.tomlfor any group. Renamed frommenuin issue #45;krypt menuis nowdispatch::run_in_group("menu", …). -
battery— cross-platform battery state reader:LinuxSysfsReader(Linux),UnsupportedReader(macOS/Windows stub). Used bykrypt battery {report,log,clear}(issue #28).
Re-exports§
pub use include::expand_includes;pub use include::load_with_includes;
Modules§
- adopt
krypt adoptandkrypt adopt-edits— import existing dotfiles into the repo.- battery
- Battery status reader.
- config
.krypt.tomlconfiguration schema and parser.- copy
- Copy engine — deploy files from the repo to
$HOME. - deploy
- High-level deploy orchestration — the engine behind
krypt link/krypt unlink/krypt relink. - dispatch
- Generic
krypt <group> <name>dispatcher. - doctor
krypt doctor— diagnostic health-check for an install.- include
#includedirective — glob-based config composition.- init
- Orchestration for
krypt init. - manifest
- Deployment manifest — record of what
krypthas written to disk. - notify
- Cross-platform notification backend.
- paths
- Path variable resolution.
- predicate
- Predicate grammar + evaluator for
if =conditions in step definitions. - runner
- Step runner — the engine behind
[[command]]and[[hook]]execution. - setup
- Interactive setup wizard for
krypt setup. - tool_
config - Tool-level config at
${XDG_CONFIG}/krypt/config.toml. - update
- Orchestration for
krypt update.
Constants§
- VERSION
- Crate version, exposed for
krypt --versionaggregation.