wibian-extras/install.sh
2024-11-08 09:30:38 +00:00

121 lines
3.7 KiB
Bash

#!/usr/bin/env bash
# Vérifie si le script est lancé avec les droits root
if [[ $EUID -ne 0 ]]; then
echo "Vous devez avoir les privilèges root pour exécuter le script. Utilisez : sudo bash install.sh"
exit 1
fi
# Installation de dialog si non présent
apt install -y dialog
# Options de sélection
choices=$(dialog --separate-output --checklist "Sélectionnez les éléments à installer:" 15 60 6 \
1 "Solution de virtualisation KVM" off \
2 "Paquets wibian-extras (inclut Flatpak)" off \
3 "Synology Drive Client" off \
4 "PVE VDI Client" off \
5 "PDF Studio Pro 2022" off \
6 "Zoom" off 3>&1 1>&2 2>&3 3>&-)
clear
username=$(id -u -n 1000)
builddir=$(pwd)
# Mise à jour des paquets
apt update && apt upgrade -y
# Création de répertoires de travail supplémentaires
mkdir -p /home/$username/Fichiers /home/$username/Fichiers/sh
# Fonction pour installer les paquets KVM depuis un fichier
install_kvm() {
echo "Installation de la solution de virtualisation KVM..."
xargs -a packages_kvm.txt apt install -y
adduser $username libvirt
export LIBVIRT_DEFAULT_URI='qemu:///system'
virsh net-start default
virsh net-autostart default
}
# Fonction pour installer les paquets wibian-extras et les applications Flatpak depuis des fichiers
install_wibian_extras() {
echo "Installation des paquets wibian-extras..."
xargs -a packages_wibian_extras.txt apt install -y
echo "Installation des applications Flatpak..."
flatpak install -y flathub $(xargs < flatpak_apps.txt)
}
# Fonction pour installer Synology Drive Client
install_synology_drive_client() {
echo "Installation de Synology Drive Client..."
latest_version_url=$(curl -sL "https://archive.synology.com/download/Utility/SynologyDriveClient/" \
| grep -oE 'href="[^"]+"' \
| grep -oE '[0-9]+\.[0-9]+\.[0-9]+-[0-9]+' \
| sort -V \
| tail -1)
wget -qO- "https://archive.synology.com/download/Utility/SynologyDriveClient/$latest_version_url/" \
| grep -oP 'href="[^"]+synology-drive-client-.*?\.x86_64\.deb"' \
| grep -oP 'https://[^"]+' \
| wget -i -
release=$(ls synology-drive-client-*.x86_64.deb | tail -1)
apt install -y ./$release
}
# Fonction pour installer PVE VDI Client
install_pve_vdi_client() {
echo "Installation de PVE VDI Client..."
apt install -y python3-pip python3-proxmoxer python3-tk
git clone https://github.com/joshpatten/PVE-VDIClient.git
cd ./PVE-VDIClient/
pip3 install PySimpleGUI --break-system-packages
cp vdiclient.py /usr/local/bin
chmod +x /usr/local/bin/vdiclient.py
cd $builddir
}
# Fonction pour télécharger PDF Studio Pro 2022
install_pdf_studio_pro() {
echo "Téléchargement de PDF Studio Pro 2022..."
wget https://download.qoppa.com/pdfstudio/v2022/PDFStudio_v2022_2_5_linux64.sh -P /home/$username/Fichiers/sh/
}
# Fonction pour installer Zoom
install_zoom() {
echo "Installation de Zoom..."
wget https://zoom.us/client/latest/zoom_amd64.deb
apt install -y libxcb-xtest0 ibus
apt install -y ./zoom_amd64.deb
}
# Exécution des installations sélectionnées
for choice in $choices; do
case $choice in
1) install_kvm ;;
2) install_wibian_extras ;;
3) install_synology_drive_client ;;
4) install_pve_vdi_client ;;
5) install_pdf_studio_pro ;;
6) install_zoom ;;
esac
done
# Application du droit de propriété pour l'utilisateur principal sudo
chown -R $username:$username /home/$username/.config/
chown -R $username:$username /home/$username/Fichiers/
# Nettoyage des paquets inutiles
apt autoremove
# Message de fin
echo "Bisous" | figlet -f big
echo -ne "\n"
# Décompte avant redémarrage
i=10
while [ $i -ge 0 ]; do printf "Redémarrage dans $i \r"; sleep 1; ((i--)); done
# redémarrage du système
reboot now