El script que mas uso en mi dia a dia

Este es un script que hice hace un tiempo para poder instalar paquetes usando fzf como buscador y queria compartirlo con todos ustedes. :grin:

#!/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 :cry:

2 Me gusta

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