Un-whoops success message (#153)

This commit is contained in:
Ana Hobden 2023-01-04 10:09:16 -08:00 committed by GitHub
parent e27d01f221
commit 14cb35b3e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -157,29 +157,14 @@ impl CommandExecute for Install {
let (tx, rx1) = signal_channel().await?; let (tx, rx1) = signal_channel().await?;
if let Err(err) = install_plan.install(rx1).await { match install_plan.install(rx1).await {
Err(err) => {
if !no_confirm { if !no_confirm {
let mut was_expected = false; let mut was_expected = false;
if let Some(expected) = err.expected() { if let Some(expected) = err.expected() {
was_expected = true; was_expected = true;
eprintln!("{}", expected.red()) eprintln!("{}", expected.red())
} else {
println!(
"\
{success}\n\
To get started using Nix, open a new shell or run `{shell_reminder}`\n\
",
success = "Nix was installed successfully!".green().bold(),
shell_reminder = match std::env::var("SHELL") {
Ok(val) if val.contains("fish") =>
". /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish"
.bold(),
Ok(_) | Err(_) =>
". /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh".bold(),
},
);
} }
if !was_expected { if !was_expected {
let error = eyre!(err).wrap_err("Install failure"); let error = eyre!(err).wrap_err("Install failure");
tracing::error!("{:?}", error); tracing::error!("{:?}", error);
@ -194,7 +179,8 @@ impl CommandExecute for Install {
) )
.await? .await?
{ {
interaction::clean_exit_with_message("Okay, didn't do anything! Bye!").await; interaction::clean_exit_with_message("Okay, didn't do anything! Bye!")
.await;
} }
let rx2 = tx.subscribe(); let rx2 = tx.subscribe();
let res = install_plan.uninstall(rx2).await; let res = install_plan.uninstall(rx2).await;
@ -224,6 +210,22 @@ impl CommandExecute for Install {
let error = eyre!(err).wrap_err("Install failure"); let error = eyre!(err).wrap_err("Install failure");
return Err(error); return Err(error);
} }
},
Ok(_) => {
println!(
"\
{success}\n\
To get started using Nix, open a new shell or run `{shell_reminder}`\n\
",
success = "Nix was installed successfully!".green().bold(),
shell_reminder = match std::env::var("SHELL") {
Ok(val) if val.contains("fish") =>
". /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.fish".bold(),
Ok(_) | Err(_) =>
". /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh".bold(),
},
);
},
} }
Ok(ExitCode::SUCCESS) Ok(ExitCode::SUCCESS)