add more programs and make script execute commands without confirmation
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
2025-06-19 15:52:50 +05:30
parent ed3cc44eaf
commit 835ec06d15
3 changed files with 30 additions and 23 deletions

View File

@@ -17,3 +17,8 @@ zen-browser-bin
docker
tailscale
openvpn3
plasma6-wallpapers-wallpaper-engine-git
kvantum
flux-bin
helm
spotify-launcher

View File

@@ -10,3 +10,5 @@ korganizer
plasma5-integration
kwayland-integration
kdepim-addons
steam
kubectl

View File

@@ -126,13 +126,13 @@ fn install_programs() -> Result<(), Box<dyn std::error::Error>> {
for n in chosen.iter() {
if which("yay").is_some() {
Command::new("yay").arg("-S").arg(n).status()?;
Command::new("yay").arg("-S").arg("--noconfirm").arg(n).status()?;
} else if which("pacman").is_some() {
Command::new("sudo").arg("pacman").arg("-S").arg(n).status()?;
Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg(n).status()?;
} else if which("dnf").is_some() {
Command::new("sudo").arg("dnf").arg("install").arg(n).status()?;
Command::new("sudo").arg("dnf").arg("install").arg("-y").arg(n).status()?;
} else if which("apt").is_some() {
Command::new("sudo").arg("apt").arg("install").arg(n).status()?;
Command::new("sudo").arg("apt").arg("install").arg("-y").arg(n).status()?;
}
};
@@ -166,14 +166,14 @@ fn install_flatpaks() -> Result<(), Box<dyn std::error::Error>> {
} else {
match distro {
"arch" => {
Command::new("sudo").arg("pacman").arg("-S").arg("flatpak").status()?;
Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("flatpak").status()?;
}
"Debian" => {
Command::new("sudo").arg("apt").arg("update").status()?;
Command::new("sudo").arg("apt").arg("install").arg("flatpak").status()?;
Command::new("sudo").arg("apt").arg("install").arg("-y").arg("flatpak").status()?;
}
"fedora" => {
Command::new("sudo").arg("dnf").arg("install").arg("flatpak").status()?;
Command::new("sudo").arg("dnf").arg("install").arg("-y").arg("flatpak").status()?;
}
_ => eprint!("Unsupported distro")
};
@@ -220,17 +220,17 @@ fn update_system() -> Result<(), Box<dyn std::error::Error>> {
match distro {
"arch" => {
if which("yay").is_some() {
Command::new("yay").status()?;
Command::new("yay").arg("--noconfirm").status()?;
} else {
Command::new("sudo").arg("pacman").arg("-Syu").status()?;
Command::new("sudo").arg("pacman").arg("-Syu").arg("--noconfirm").status()?;
}
}
"Debian" => {
Command::new("sudo").arg("apt").arg("update").status()?;
Command::new("sudo").arg("apt").arg("upgrade").status()?;
Command::new("sudo").arg("apt").arg("upgrade").arg("-y").status()?;
}
"fedora" => {
Command::new("sudo").arg("dnf").arg("up").status()?;
Command::new("sudo").arg("dnf").arg("up").arg("-y").status()?;
}
_ => eprint!("Unsupported distro")
};
@@ -255,7 +255,7 @@ fn aur() -> Result<(), Box<dyn std::error::Error>> {
eprint!("yay not found. Install yay Y/N? (1/0)");
let input = handle_int_input();
if input == 1 {
Command::new("sudo").arg("pacman").arg("-S").arg("git").arg("base-devel").status()?;
Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("git").arg("base-devel").status()?;
Command::new("git").arg("clone").arg("https://aur.archlinux.org/yay.git").status()?;
std::env::set_current_dir("yay")?;
Command::new("makepkg").arg("-si").status()?;
@@ -279,7 +279,7 @@ fn aur() -> Result<(), Box<dyn std::error::Error>> {
}
}
for i in chosen.iter() {
Command::new("yay").arg("-S").arg(i).status()?;
Command::new("yay").arg("-S").arg("--noconfirm").arg(i).status()?;
}
Ok(())
@@ -377,8 +377,8 @@ fn handle_intel_driver(distro: &str) -> Result<(), Box<dyn Error>> {
return drivers();
}
match input_2 {
1 => Command::new("sudo").arg("pacman").arg("-S").arg("intel-media-driver").status()?,
2 => Command::new("sudo").arg("pacman").arg("-S").arg("libva-intel-driver").status()?,
1 => Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("intel-media-driver").status()?,
2 => Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("libva-intel-driver").status()?,
_ => {
eprintln!("Invalid choice");
return Ok(());
@@ -387,10 +387,10 @@ fn handle_intel_driver(distro: &str) -> Result<(), Box<dyn Error>> {
},
"Debian" => {
Command::new("sudo").arg("apt").arg("update").status()?;
Command::new("sudo").arg("apt").arg("install").arg("intel-media-va-driver").status()
Command::new("sudo").arg("apt").arg("install").arg("-y").arg("intel-media-va-driver").status()
}?,
"fedora" => {
Command::new("sudo").arg("dnf").arg("install").arg("intel-media-driver").status()?
Command::new("sudo").arg("dnf").arg("install").arg("-y").arg("intel-media-driver").status()?
},
_ => {
eprintln!("Invalid choice");
@@ -407,12 +407,12 @@ fn handle_amd_driver(distro: &str) -> Result<(), Box<dyn Error>> {
clear_terminal();
match distro {
"arch" => Command::new("sudo").arg("pacman").arg("-S").arg("mesa").status()?,
"arch" => Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("mesa").status()?,
"Debian" => {
Command::new("sudo").arg("apt").arg("update").status()?;
Command::new("sudo").arg("apt").arg("install").arg("mesa-va-drivers").status()
Command::new("sudo").arg("apt").arg("install").arg("-y").arg("mesa-va-drivers").status()
}?,
"fedora" => Command::new("sudo").arg("dnf").arg("install").arg("mesa-va-drivers").status()?,
"fedora" => Command::new("sudo").arg("dnf").arg("install").arg("-y").arg("mesa-va-drivers").status()?,
_ => {
eprintln!("Unsupported distro");
return Ok(())
@@ -428,12 +428,12 @@ fn handle_nvidia_driver(distro: &str) -> Result<(), Box<dyn Error>> {
clear_terminal();
match distro {
"arch" => Command::new("sudo").arg("pacman").arg("-S").arg("nvidia").status()?,
"arch" => Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("nvidia").status()?,
"Debian" => {
Command::new("sudo").arg("apt").arg("update").status()?;
Command::new("sudo").arg("apt").arg("install").arg("nvidia-driver").status()
Command::new("sudo").arg("apt").arg("install").arg("-y").arg("nvidia-driver").status()
}?,
"fedora" => Command::new("sudo").arg("dnf").arg("install").arg("akmod-nvidia").status()?,
"fedora" => Command::new("sudo").arg("dnf").arg("install").arg("-y").arg("akmod-nvidia").status()?,
_ => {
eprintln!("Unsupported distro");
return Ok(())