trixie-gn-postinstall/trixie-toolbox.sh

146 lines
4.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -euo pipefail
# ==========================================================
# Debian 13 Toolbox — Menu principal de post-installation
# ==========================================================
LOGFILE="$HOME/postinstall.log"
> "$LOGFILE"
# --- Fonction dexécution avec log
run_step() {
local description="$1"
local command="$2"
echo -n "$description... "
if eval "$command" >>"$LOGFILE" 2>&1; then
echo "✅"
else
echo "❌ (voir $LOGFILE)"
fi
}
# --- Vérification dépendances minimales
for cmd in whiptail flatpak extrepo wget curl git; do
if ! command -v "$cmd" &>/dev/null; then
echo "📦 Installation de la dépendance manquante : $cmd"
sudo apt update && sudo apt install -y "$cmd"
fi
done
# ==========================================================
# FONCTIONS DE CHAQUE ACTION
# ==========================================================
post_install_base() {
echo "🚀 Post-installation de base..."
run_step "📦 Configuration des sources APT" "
sudo cp files/debian.sources /etc/apt/sources.list.d/ &&
if [ -f /etc/apt/sources.list ]; then
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo rm /etc/apt/sources.list
fi
"
run_step "🆙 Mise à jour du système" "
sudo apt update &&
sudo apt upgrade -y
"
run_step "🔧 Installation des outils de base" "
sudo apt install -y libgettextpo-dev gettext git wget curl build-essential linux-image-amd64 make ttf-mscorefonts-installer rsyslog unzip bash-completion flatpak libxdo3 extrepo
"
run_step "🇫🇷 Langue et clavier français" "
sudo cp files/keyboard /etc/default/
echo 'LANG=fr_FR.UTF-8' | sudo tee -a /etc/default/locale > /dev/null
"
run_step "🛒 Ajout du dépôt Flathub" "
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
"
run_step "🌐 DNS Cloudflare" "
echo -e '[main]\ndns=none' | sudo tee /etc/NetworkManager/conf.d/90-dns-none.conf &&
sudo systemctl reload NetworkManager &&
sudo sed -i '1,4 s/^/#/' /etc/resolv.conf &&
sudo sed -i -e '\$anameserver 1.1.1.2\nameserver 2606:4700:4700::1112' /etc/resolv.conf &&
sudo systemctl reload NetworkManager
"
run_step "🎨 Icônes LibreOffice (Colibre)" "
sudo chown $USER:$USER files/registrymodifications.xcu &&
mkdir -p \$HOME/.config/libreoffice/4/user/ &&
cp files/registrymodifications.xcu \$HOME/.config/libreoffice/4/user/ &&
sudo mkdir -p /etc/skel/.config/libreoffice/4/user/ &&
sudo cp files/registrymodifications.xcu /etc/skel/.config/libreoffice/4/user/
"
run_step "🦊 Installation de Firefox" "
bash scripts/firefox.sh
"
}
configure_gnome() {
echo "🖥️ Configuration de GNOME..."
run_step "Configuration de GNOME (script externe)" "
bash scripts/gnome.sh
"
}
# --- Fichiers annexes
source ./scripts/install_apps.sh
install_apps_menu() {
CHOIX=$(whiptail --title "Installation de logiciels" --checklist \
"Choisissez les logiciels à installer :" 20 78 10 \
"freetube" "FreeTube (YouTube sans pub)" ON \
"zoom" "Zoom (visioconférence)" OFF \
"element" "Element (messagerie Matrix)" OFF \
"chrome" "Google Chrome (navigateur)" OFF \
"vscodium" "VSCodium (éditeur de code)" ON \
3>&1 1>&2 2>&3)
CHOIX=$(echo $CHOIX | tr -d '"')
for APP in $CHOIX; do
case $APP in
freetube) install_freetube ;;
zoom) install_zoom ;;
element) install_element ;;
chrome) install_chrome ;;
vscodium) install_vscodium ;;
*) echo "❓ Logiciel inconnu : $APP" ;;
esac
done
}
# ==========================================================
# MENU PRINCIPAL (BOUCLE)
# ==========================================================
while true; do
CHOIX=$(whiptail --title "🧰 GN-Debian 13 Toolbox" --menu \
"Sélectionnez une action :" 20 70 10 \
1 "Post-installation de base" \
2 "Personnalisation de GNOME" \
3 "Installer des applications" \
4 "Quitter" \
3>&1 1>&2 2>&3)
case $CHOIX in
1) post_install_base ;;
2) configure_gnome ;;
3) install_apps_menu ;;
4) echo "👋 Au revoir !"; exit 0 ;;
*) echo "❓ Choix invalide." ;;
esac
whiptail --title "Retour au menu principal" --msgbox "✅ Action terminée.\nAppuyez sur OK pour revenir au menu principal." 8 60
done