Este es un script que hice hace un tiempo para poder instalar paquetes usando fzf como buscador y queria compartirlo con todos ustedes.
#!/bin/bash
echo "Selecciona la opción:"
echo "1. Instalar paquetes con pacman"
echo "2. Instalar paquetes con paru"
read -n1 -p "Ingresa el número de la opción deseada: " opcion
echo
case $opcion in
1)
# pacman
pacman -Slq | fzf --border --reverse --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
;;
2)
# paru
paru -Slq | fzf --border --reverse --multi --preview 'paru -Si {1}' | xargs -ro paru -S
;;
$'\e')
echo "Saliendo sin hacer nada."
;;
*)
echo "Opción no válida. Saliendo."
;;
esac
Este script lo ejecuto con un alias en mi archivo .zshrc, lo cual me permite ejecutarlo rapidamente en cualquier momento.
Aprovecho para preguntar ¿que scripts similares usan ustedes?
PD: la idea para este script la saqué de un video de @Chad , el cual lamentablemente ahora está en privado
2 Me gusta
5ombr4
12 Septiembre, 2024 23:16
2
Uso este para instalar Debian desde cero en una PC o en su defecto, instalar una distribución en base Debian (por eso hay una línea de instalación por programa a instalar, si uno falla, no interrumpe el resto del script):
#!/usr/bin/bash
#Colours
greenColour="\e[0;32m\033[1m"
endColour="\033[0m\e[0m"
redColour="\e[0;31m\033[1m"
blueColour="\e[0;34m\033[1m"
yellowColour="\e[0;33m\033[1m"
purpleColour="\e[0;35m\033[1m"
turquoiseColour="\e[0;36m\033[1m"
grayColour="\e[0;37m\033[1m"
function ctrl_c(){
echo -e "\n\n${redColour}[!] Saliendo...${endColour}\n"
tput cnorm; exit 1
}
# Ctrl + C
trap ctrl_c SIGINT
echo -e "${grayColour}Selecting user:${endColour}${purpleColour} $USER ${endColour}"
usuario=$USER
echo -e "${grayColour}Updating and upgrading system:${endColour}"
sudo apt update -y && sudo apt-get full-upgrade -y
echo -e "${grayColour}Installing${endColour} ${greenColour}zsh${endColour}${grayColour}:${endColour}"
sudo apt-get install zsh -y
echo -e "${grayColour}Installing${endColour} ${greenColour}lsd${endColour}${grayColour}:${endColour}"
sudo apt-get install lsd -y
echo -e "${grayColour}Installing${endColour} ${greenColour}bat${endColour}${grayColour}:${endColour}"
sudo apt-get install bat -y
echo -e "${grayColour}Installing${endColour} ${greenColour}neovim${endColour}${grayColour}:${endColour}"
sudo apt-get install neovim -y
echo -e "${grayColour}Installing${endColour} ${greenColour}cmus${endColour}${grayColour}:${endColour}"
sudo apt-get install cmus -y
echo -e "${grayColour}Installing${endColour} ${greenColour}tmux${endColour}${grayColour}:${endColour}"
sudo apt-get install tmux -y
echo -e "${grayColour}Installing${endColour} ${greenColour}XFCe desktop environment${endColour}${grayColour}:${endColour}"
sudo apt-get install xfce4 xfce4-goodies -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Xorg WM${endColour}${grayColour}:${endColour}"
sudo apt-get install xorg xserver-xorg xserver-xorg-core -y
echo -e "${grayColour}Installing${endColour} ${greenColour}speedtest-cli${endColour}${grayColour}:${endColour}"
sudo apt-get install speedtest-cli -y
echo -e "${grayColour}Installing${endColour} ${greenColour}wget${endColour}${grayColour}:${endColour}"
sudo apt-get install wget -y
echo -e "${grayColour}Installing${endColour} ${greenColour}curl${endColour}${grayColour}:${endColour}"
sudo apt-get install curl -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Thunderbird${endColour}${grayColour}:${endColour}"
sudo apt-get install thunderbird -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Telegram${endColour}${grayColour}:${endColour}"
sudo apt-get install telegram-desktop -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Gparted${endColour}${grayColour}:${endColour}"
sudo apt-get install gparted -y
echo -e "${grayColour}Installing${endColour} ${greenColour}mpv${endColour}${grayColour}:${endColour}"
sudo apt-get install mpv -y
echo -e "${grayColour}Installing${endColour} ${greenColour}KeePass${endColour}${grayColour}:${endColour}"
sudo apt-get install keepassxc -y
echo -e "${grayColour}Installing${endColour} ${greenColour}MariaDB${endColour}${grayColour}:${endColour}"
sudo apt-get install mariadb-server -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Apache${endColour}${grayColour}:${endColour}"
sudo apt-get install apache2 -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Python3-full${endColour}${grayColour}:${endColour}"
sudo apt-get install python3-full -y
echo -e "${grayColour}Installing${endColour} ${greenColour}OpenVPN${endColour}${grayColour}:${endColour}"
sudo apt-get install openvpn -y
echo -e "${grayColour}Installing${endColour} ${greenColour}FUSE${endColour}${grayColour}:${endColour}"
sudo apt-get install fuse -y
echo -e "${grayColour}Installing${endColour} ${greenColour}neofetch${endColour}${grayColour}:${endColour}"
sudo apt-get install neofetch -y
echo -e "${grayColour}Installing${endColour} ${greenColour}htop${endColour}${grayColour}:${endColour}"
sudo apt-get install htop -y
echo -e "${grayColour}Installing${endColour} ${greenColour}ZSH pluggins${endColour}${grayColour}:${endColour}"
sudo apt-get install zsh-autosuggestions -y
sudo apt-get install zsh-syntax-highlighting -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Bluetooth${endColour}${grayColour}:${endColour}"
sudo apt-get install bluetooth -y
sudo apt-get install bluez* -y
sudo apt-get install blueman -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Nmap${endColour}${grayColour}:${endColour}"
sudo apt-get install nmap -y
echo -e "${grayColour}Installing${endColour} ${greenColour}rdesktop${endColour}${grayColour}:${endColour}"
sudo apt-get install rdesktop -y
echo -e "${grayColour}Installing${endColour} ${greenColour}git${endColour}${grayColour}:${endColour}"
sudo apt-get install git -y
echo -e "${grayColour}Installing${endColour} ${greenColour}Alacritty terminal${endColour}${grayColour}:${endColour}"
sudo apt-get install alacritty -y
echo -e "${grayColour}Purging${endColour} ${greenColour}Pulseaudio${endColour}${grayColour}:${endColour}"
sudo apt purge pulseaudio pulseaudio-utils
echo -e "${grayColour}Installing${endColour} ${greenColour}pip3 pipx${endColour}${grayColour}:${endColour}"
sudo apt-get install pip3 pipx
echo -e "${grayColour}Installing${endColour} ${greenColour}python3-mysql.connector${endColour}${grayColour}:${endColour}"
pip3 install mysql-connector --break-system-packages
echo -e "${grayColour}Copying backup:${endColour}"
sudo cp -rv /home/$usuario/USB_drive/RPi5/Home/usuario/* /home/$usuario/
sudo cp -rv /home/$usuario/USB_drive/RPi5/Home/usuario/.* /home/$usuario/
sudo cp -rv /home/$usuario/USB_drive/RPi5/usr/bin/* /usr/bin/
sudo cp -rv /home/$usuario/USB_drive/RPi5/usr/share/fonts/* /usr/share/fonts/
echo -e "${grayColour}Changing ownership of the backup files:${endColour}"
sudo chown -R $usuario:$usuario /home/$usuario/*
sudo chown -R $usuario:$usuario /home/$usuario/.*
sudo chown $usuario:$usuario /usr/bin/LibreWolf.AppImage
sudo chown $usuario:$usuario /usr/bin/Obsidian.AppImage
echo -e "${grayColour}Installing${endColour} ${greenColour}Pi-Apps${endColour}${grayColour}:${endColour}"
cd /home/$usuario/Tools/Apps/pi-apps/
wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash
cd /home/$usuario
echo -e "${grayColour}Changing shell${endColour} ${greenColour}ZSH${endColour}${grayColour}:${endColour}"
sudo chsh -s $(which zsh)
chsh -s $(which zsh)
set HISTCONTROL="ignorespace"
echo -e "${grayColour}Installing${endColour} ${greenColour}gdm3${endColour}${grayColour}:${endColour}"
sudo apt-get install gdm3
echo -e "${grayColour}Installing${endColour} ${greenColour}CUPS${endColour}${grayColour}:${endColour}"
sudo /etc/init.d/cups start
sudo apt-get install cups cups-client "foomatic-db"
sudo systemctl enable cups
sudo systemctl start cups
sudo adduser root lpadmin
sudo adduser $usuario lpadmin
sudo service cups restart
sudo systemctl restart cups
echo -e "${grayColour}Disabling unnecesary services:${endColour}"
sudo systemctl disable mariadb.service
sudo systemctl disable mysql.service
sudo systemctl disable apache2.service
sudo systemctl disable openvpn.service
echo -e "${grayColour}Enter${endColour}${turquoiseColour} http://127.0.0.1:631/${endColour}${grayColour} on a web browser to add a printer${endColour}"
tput cnorm
El script no sólo instala los programas, si no que copia el backup, archivos de configuración y hace las modificaciones necesarias para simplemente usarlo sin tener que hacer nada extra.
4 Me gusta