diff --git a/src/config.rs b/src/config.rs index d69989cc..e7c20bd5 100644 --- a/src/config.rs +++ b/src/config.rs @@ -83,6 +83,7 @@ pub enum Step { Containers, CustomCommands, DebGet, + Distrobox, Deno, Dotnet, Emacs, diff --git a/src/main.rs b/src/main.rs index 04e6eeb7..b7da2e4c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -368,6 +368,7 @@ fn run() -> Result<()> { runner.execute(Step::Pacstall, "pacstall", || linux::run_pacstall(&ctx))?; runner.execute(Step::Pacdef, "pacdef", || linux::run_pacdef(&ctx))?; runner.execute(Step::Protonup, "protonup", || linux::run_protonup_update(&ctx))?; + runner.execute(Step::Distrobox, "distrobox", || linux::run_distrobox_update(&ctx))?; } if let Some(commands) = config.commands() { diff --git a/src/steps/os/linux.rs b/src/steps/os/linux.rs index 16051d20..697b050d 100644 --- a/src/steps/os/linux.rs +++ b/src/steps/os/linux.rs @@ -606,6 +606,17 @@ pub fn run_protonup_update(ctx: &ExecutionContext) -> Result<()> { Ok(()) } +pub fn run_distrobox_update(ctx: &ExecutionContext) -> Result<()> { + let distrobox = require("distrobox")?; + + print_separator("distrobox"); + + ctx.run_type() + .execute(distrobox) + .args(&["upgrade", "--all"]) + .check_run() +} + pub fn run_config_update(ctx: &ExecutionContext) -> Result<()> { let sudo = require_option(ctx.sudo().as_ref(), String::from("sudo is not installed"))?; if ctx.config().yes(Step::ConfigUpdate) {