diff --git a/src/config.rs b/src/config.rs index c9e10d33..f913270e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -69,6 +69,7 @@ pub enum Step { BrewFormula, Bin, Cargo, + Chezmoi, Chocolatey, Choosenim, Composer, diff --git a/src/main.rs b/src/main.rs index 0c0e546e..9d2cbde5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -293,6 +293,9 @@ fn run() -> Result<()> { runner.execute(Step::Myrepos, "myrepos", || { generic::run_myrepos_update(&base_dirs, run_type) })?; + runner.execute(Step::Chezmoi, "chezmoi", || { + generic::run_chezmoi_update(&base_dirs, run_type) + })?; runner.execute(Step::Jetpack, "jetpack", || generic::run_jetpack(run_type))?; runner.execute(Step::Vim, "vim", || vim::upgrade_vim(&base_dirs, &ctx))?; runner.execute(Step::Vim, "Neovim", || vim::upgrade_neovim(&base_dirs, &ctx))?; diff --git a/src/steps/generic.rs b/src/steps/generic.rs index 086ec305..39486f51 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -268,6 +268,15 @@ pub fn run_tlmgr_update(ctx: &ExecutionContext) -> Result<()> { command.check_run() } +pub fn run_chezmoi_update(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { + let chezmoi = utils::require("chezmoi")?; + base_dirs.home_dir().join(".local/share/chezmoi").require()?; + + print_separator("chezmoi"); + + run_type.execute(&chezmoi).arg("update").check_run() +} + pub fn run_myrepos_update(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { let myrepos = utils::require("mr")?; base_dirs.home_dir().join(".mrconfig").require()?;