add more programs and make script execute commands without confirmation
This commit is contained in:
@@ -17,3 +17,8 @@ zen-browser-bin
|
|||||||
docker
|
docker
|
||||||
tailscale
|
tailscale
|
||||||
openvpn3
|
openvpn3
|
||||||
|
plasma6-wallpapers-wallpaper-engine-git
|
||||||
|
kvantum
|
||||||
|
flux-bin
|
||||||
|
helm
|
||||||
|
spotify-launcher
|
||||||
|
|||||||
@@ -10,3 +10,5 @@ korganizer
|
|||||||
plasma5-integration
|
plasma5-integration
|
||||||
kwayland-integration
|
kwayland-integration
|
||||||
kdepim-addons
|
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() {
|
for n in chosen.iter() {
|
||||||
if which("yay").is_some() {
|
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() {
|
} 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() {
|
} 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() {
|
} 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 {
|
} else {
|
||||||
match distro {
|
match distro {
|
||||||
"arch" => {
|
"arch" => {
|
||||||
Command::new("sudo").arg("pacman").arg("-S").arg("flatpak").status()?;
|
Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("flatpak").status()?;
|
||||||
}
|
}
|
||||||
"Debian" => {
|
"Debian" => {
|
||||||
Command::new("sudo").arg("apt").arg("update").status()?;
|
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" => {
|
"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")
|
_ => eprint!("Unsupported distro")
|
||||||
};
|
};
|
||||||
@@ -220,17 +220,17 @@ fn update_system() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
match distro {
|
match distro {
|
||||||
"arch" => {
|
"arch" => {
|
||||||
if which("yay").is_some() {
|
if which("yay").is_some() {
|
||||||
Command::new("yay").status()?;
|
Command::new("yay").arg("--noconfirm").status()?;
|
||||||
} else {
|
} else {
|
||||||
Command::new("sudo").arg("pacman").arg("-Syu").status()?;
|
Command::new("sudo").arg("pacman").arg("-Syu").arg("--noconfirm").status()?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"Debian" => {
|
"Debian" => {
|
||||||
Command::new("sudo").arg("apt").arg("update").status()?;
|
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" => {
|
"fedora" => {
|
||||||
Command::new("sudo").arg("dnf").arg("up").status()?;
|
Command::new("sudo").arg("dnf").arg("up").arg("-y").status()?;
|
||||||
}
|
}
|
||||||
_ => eprint!("Unsupported distro")
|
_ => 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)");
|
eprint!("yay not found. Install yay Y/N? (1/0)");
|
||||||
let input = handle_int_input();
|
let input = handle_int_input();
|
||||||
if input == 1 {
|
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()?;
|
Command::new("git").arg("clone").arg("https://aur.archlinux.org/yay.git").status()?;
|
||||||
std::env::set_current_dir("yay")?;
|
std::env::set_current_dir("yay")?;
|
||||||
Command::new("makepkg").arg("-si").status()?;
|
Command::new("makepkg").arg("-si").status()?;
|
||||||
@@ -279,7 +279,7 @@ fn aur() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for i in chosen.iter() {
|
for i in chosen.iter() {
|
||||||
Command::new("yay").arg("-S").arg(i).status()?;
|
Command::new("yay").arg("-S").arg("--noconfirm").arg(i).status()?;
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -377,8 +377,8 @@ fn handle_intel_driver(distro: &str) -> Result<(), Box<dyn Error>> {
|
|||||||
return drivers();
|
return drivers();
|
||||||
}
|
}
|
||||||
match input_2 {
|
match input_2 {
|
||||||
1 => Command::new("sudo").arg("pacman").arg("-S").arg("intel-media-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("libva-intel-driver").status()?,
|
2 => Command::new("sudo").arg("pacman").arg("-S").arg("--noconfirm").arg("libva-intel-driver").status()?,
|
||||||
_ => {
|
_ => {
|
||||||
eprintln!("Invalid choice");
|
eprintln!("Invalid choice");
|
||||||
return Ok(());
|
return Ok(());
|
||||||
@@ -387,10 +387,10 @@ fn handle_intel_driver(distro: &str) -> Result<(), Box<dyn Error>> {
|
|||||||
},
|
},
|
||||||
"Debian" => {
|
"Debian" => {
|
||||||
Command::new("sudo").arg("apt").arg("update").status()?;
|
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" => {
|
"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");
|
eprintln!("Invalid choice");
|
||||||
@@ -407,12 +407,12 @@ fn handle_amd_driver(distro: &str) -> Result<(), Box<dyn Error>> {
|
|||||||
clear_terminal();
|
clear_terminal();
|
||||||
|
|
||||||
match distro {
|
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" => {
|
"Debian" => {
|
||||||
Command::new("sudo").arg("apt").arg("update").status()?;
|
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");
|
eprintln!("Unsupported distro");
|
||||||
return Ok(())
|
return Ok(())
|
||||||
@@ -428,12 +428,12 @@ fn handle_nvidia_driver(distro: &str) -> Result<(), Box<dyn Error>> {
|
|||||||
clear_terminal();
|
clear_terminal();
|
||||||
|
|
||||||
match distro {
|
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" => {
|
"Debian" => {
|
||||||
Command::new("sudo").arg("apt").arg("update").status()?;
|
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");
|
eprintln!("Unsupported distro");
|
||||||
return Ok(())
|
return Ok(())
|
||||||
|
|||||||
Reference in New Issue
Block a user