add more programs and make script execute commands without confirmation
This commit is contained in:
@@ -17,3 +17,8 @@ zen-browser-bin
|
||||
docker
|
||||
tailscale
|
||||
openvpn3
|
||||
plasma6-wallpapers-wallpaper-engine-git
|
||||
kvantum
|
||||
flux-bin
|
||||
helm
|
||||
spotify-launcher
|
||||
|
||||
@@ -10,3 +10,5 @@ korganizer
|
||||
plasma5-integration
|
||||
kwayland-integration
|
||||
kdepim-addons
|
||||
steam
|
||||
kubectl
|
||||
|
||||
46
src/main.rs
46
src/main.rs
@@ -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(())
|
||||
|
||||
Reference in New Issue
Block a user