1 Commits
v1 ... v2

Author SHA1 Message Date
835ec06d15 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
2025-06-19 15:52:50 +05:30
3 changed files with 30 additions and 23 deletions

View File

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

View File

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

View File

@@ -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(())