diff --git a/src/config.rs b/src/config.rs index 3ebad0d6..f1db5210 100644 --- a/src/config.rs +++ b/src/config.rs @@ -75,6 +75,7 @@ pub enum Step { Distrobox, DkpPacman, Dotnet, + Elan, Emacs, Firmware, Flatpak, diff --git a/src/main.rs b/src/main.rs index be14f3d4..d1694501 100644 --- a/src/main.rs +++ b/src/main.rs @@ -342,6 +342,7 @@ fn run() -> Result<()> { // The following update function should be executed on all OSes. runner.execute(Step::Fossil, "fossil", || generic::run_fossil(&ctx))?; + runner.execute(Step::Elan, "elan", || generic::run_elan(&ctx))?; runner.execute(Step::Rustup, "rustup", || generic::run_rustup(&ctx))?; runner.execute(Step::Juliaup, "juliaup", || generic::run_juliaup(&ctx))?; runner.execute(Step::Dotnet, ".NET", || generic::run_dotnet_upgrade(&ctx))?; diff --git a/src/steps/generic.rs b/src/steps/generic.rs index 8fc658b2..f07638e2 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -227,6 +227,17 @@ pub fn run_rustup(ctx: &ExecutionContext) -> Result<()> { ctx.run_type().execute(rustup).arg("update").status_checked() } +pub fn run_elan(ctx: &ExecutionContext) -> Result<()> { + let elan = require("elan")?; + + print_separator("elan"); + ctx.run_type() + .execute(&elan) + .args(["self", "update"]) + .status_checked()?; + ctx.run_type().execute(&elan).arg("update").status_checked() +} + pub fn run_juliaup(ctx: &ExecutionContext) -> Result<()> { let juliaup = require("juliaup")?;