merge Brice branch + clean up
This commit is contained in:
parent
1a54f548f6
commit
90e58bfa0a
Binary file not shown.
@ -1,30 +0,0 @@
|
||||
echo "Installation du thème d'icônes Colloid..."
|
||||
|
||||
# Variables
|
||||
ICON_THEME_NAME="Colloid"
|
||||
ICON_DEST="/usr/share/icons" # où installer pour tous les utilisateurs
|
||||
TMPDIR="$(mktemp -d)"
|
||||
|
||||
# 1. Cloner le repo
|
||||
git clone https://github.com/vinceliuice/Colloid-icon-theme.git "$TMPDIR/Colloid-icon-theme"
|
||||
|
||||
# 2. Exécuter le script d'installation
|
||||
cd "$TMPDIR/Colloid-icon-theme"
|
||||
# Tu peux choisir les variantes de couleur/folder que tu veux, ou utiliser les valeurs défauts
|
||||
# Exemple : installer toutes les variantes
|
||||
sudo ./install.sh --dest "$ICON_DEST" --scheme default --theme default
|
||||
|
||||
# 3. Nettoyer
|
||||
cd /
|
||||
rm -rf "$TMPDIR"
|
||||
|
||||
# 4. Appliquer au user courant
|
||||
gsettings set org.gnome.desktop.interface icon-theme "$ICON_THEME_NAME"
|
||||
|
||||
# 5. Définir comme thème par défaut pour tous les nouveaux utilisateurs
|
||||
sudo mkdir -p /etc/dconf/db/local.d
|
||||
sudo tee /etc/dconf/db/local.d/00-gnome-icon-theme-colloid > /dev/null <<EOF
|
||||
[org/gnome/desktop/interface]
|
||||
icon-theme='$ICON_THEME_NAME'
|
||||
EOF
|
||||
sudo dconf update
|
||||
11
_helper.note
11
_helper.note
@ -1,11 +0,0 @@
|
||||
// Dans Virtualbox, pour monter un dossier partagé du système hôte
|
||||
// Contexte : user=visiteur / Nom du périphérique tel que configuré dans Configuration > Shared folders : GN-post_install-Trixie
|
||||
|
||||
mkdir /home/visiteur/share
|
||||
sudo mount -t vboxsf -o uid=0000,gid=1000 trixie-gn-postinstall /home/visiteur/share
|
||||
|
||||
# Montage automatique du dossier partagé au boot
|
||||
sudo su -c "echo 'trixie-gn-postinstall /home/visiteur/share vboxsf defaults 0 0' >> /etc/fstab"
|
||||
>> passer par un cron tab @reboot
|
||||
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source ./install_apps.sh
|
||||
|
||||
LOGFILE="$HOME/postinstall.log"
|
||||
> "$LOGFILE"
|
||||
|
||||
run_step() {
|
||||
local description="$1"
|
||||
local command="$2"
|
||||
|
||||
echo -n "$description... "
|
||||
if eval "$command" >>"$LOGFILE" 2>&1; then
|
||||
echo "✅"
|
||||
else
|
||||
echo "❌ (voir $LOGFILE)"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#################################
|
||||
# 🎯 POST-INSTALL DEBIAN 13 #
|
||||
#################################
|
||||
|
||||
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
|
||||
"
|
||||
|
||||
# 🧰 BASE TOOLS
|
||||
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
|
||||
"
|
||||
|
||||
# FRENCH LANGUAGE & KEYBOARD
|
||||
run_step "Passage du système en français et clavier AZERTY" "
|
||||
sudo cp files/keyboard /etc/default/
|
||||
export LANG=fr_FR.UTF-8
|
||||
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
|
||||
flatpak update -y
|
||||
"
|
||||
|
||||
# 🌐 DNS
|
||||
run_step "🌐 Configuration 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
|
||||
"
|
||||
|
||||
# 🎨 LIBREOFFICE
|
||||
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/
|
||||
"
|
||||
|
||||
# 🦊 FIREFOX
|
||||
run_step "🦊 Installation de Firefox (script)" "
|
||||
bash firefox.sh
|
||||
"
|
||||
|
||||
# 🖥️ GNOME
|
||||
if whiptail --title "Configuration GNOME" --yesno "Souhaitez-vous configurer GNOME maintenant ?" 10 60; then
|
||||
run_step "🖥️ Configuration de GNOME (script)" "
|
||||
bash gnome.sh
|
||||
"
|
||||
else
|
||||
echo "⏭️ Configuration GNOME ignorée."
|
||||
fi
|
||||
|
||||
##################################
|
||||
# ACITVATION DU BUREAU A DISTANCE
|
||||
##################################
|
||||
|
||||
## A FAIRE
|
||||
|
||||
|
||||
##############################
|
||||
## SELECTION DES LOGICIELS ##
|
||||
##############################
|
||||
|
||||
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)
|
||||
|
||||
# Nettoyage des guillemets doubles de la sortie de whiptail
|
||||
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
|
||||
|
||||
|
||||
|
||||
echo -e "\n🎉 Post-installation terminée."
|
||||
echo "📄 Rapport des erreurs (s'il y en a) : $LOGFILE"
|
||||
@ -1,111 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source ./install_apps.sh
|
||||
|
||||
LOGFILE="$HOME/postinstall.log"
|
||||
> "$LOGFILE"
|
||||
|
||||
run_step() {
|
||||
local description="$1"
|
||||
local command="$2"
|
||||
|
||||
echo -n "$description... "
|
||||
eval "$command" > /dev/null 2>>"$LOGFILE"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅"
|
||||
else
|
||||
echo "❌ (voir $LOGFILE)"
|
||||
fi
|
||||
}
|
||||
|
||||
#################################
|
||||
# 🎯 POST-INSTALL DEBIAN 13 #
|
||||
#################################
|
||||
|
||||
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
|
||||
"
|
||||
|
||||
# 🧰 BASE TOOLS
|
||||
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 "🛒 Ajout du dépôt Flathub" "
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
"
|
||||
|
||||
# 🌐 DNS
|
||||
run_step "🌐 Configuration 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
|
||||
"
|
||||
|
||||
# 🎨 LIBREOFFICE
|
||||
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/
|
||||
"
|
||||
|
||||
# 🦊 FIREFOX
|
||||
run_step "🦊 Installation de Firefox (script)" "
|
||||
bash firefox.sh
|
||||
"
|
||||
|
||||
# 🖥️ GNOME
|
||||
if whiptail --title "Configuration GNOME" --yesno "Souhaitez-vous configurer GNOME maintenant ?" 10 60; then
|
||||
run_step "🖥️ Configuration de GNOME (script)" "
|
||||
bash gnome.sh
|
||||
"
|
||||
else
|
||||
echo "⏭️ Configuration GNOME ignorée."
|
||||
fi
|
||||
|
||||
|
||||
##############################
|
||||
## SELECTION DES LOGICIELS ##
|
||||
##############################
|
||||
|
||||
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)
|
||||
|
||||
# Nettoyage des guillemets doubles de la sortie de whiptail
|
||||
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
|
||||
|
||||
|
||||
|
||||
echo -e "\n🎉 Post-installation terminée."
|
||||
echo "📄 Rapport des erreurs (s'il y en a) : $LOGFILE"
|
||||
@ -1,4 +0,0 @@
|
||||
Looking for matches…
|
||||
Required runtime for io.freetubeapp.FreeTube/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/25.08) found in remote flathub
|
||||
Do you want to install it? [Y/n]: n
|
||||
error: The application io.freetubeapp.FreeTube/x86_64/stable requires the runtime org.freedesktop.Platform/x86_64/25.08 which is not installed
|
||||
113
scripts/firefox.sh
Executable file
113
scripts/firefox.sh
Executable file
@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Vérifier la présence de firefox-esr, le désinstaler.
|
||||
## Installer firefox via les dépôts Mozilla.
|
||||
## Modifier en conséquence ci-dessous le chemin dans /usr/lib/
|
||||
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
# ================================
|
||||
# Fonctions utilitaires
|
||||
# ================================
|
||||
echo_info() { echo -e "\e[1;34m[INFO]\e[0m $*"; }
|
||||
echo_warn() { echo -e "\e[1;33m[WARN]\e[0m $*"; }
|
||||
echo_err() { echo -e "\e[1;31m[ERROR]\e[0m $*"; }
|
||||
|
||||
# ================================
|
||||
# Étape 1 : Détection de Firefox ESR
|
||||
# ================================
|
||||
if dpkg -l | grep -qw firefox-esr; then
|
||||
echo_info "Firefox ESR est détecté."
|
||||
|
||||
# ================================
|
||||
# Étape 2 : Sauvegarde du profil utilisateur
|
||||
# ================================
|
||||
FIREFOX_DIR="${HOME}/.mozilla/firefox"
|
||||
BACKUP_DIR="${HOME}/firefox_esr_backup_$(date +%Y%m%d_%H%M%S)"
|
||||
|
||||
if [[ -d "$FIREFOX_DIR" ]]; then
|
||||
echo_info "Sauvegarde du profil Firefox ESR depuis : $FIREFOX_DIR"
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
cp -a "$FIREFOX_DIR" "$BACKUP_DIR/"
|
||||
echo_info "Profil sauvegardé dans : $BACKUP_DIR"
|
||||
else
|
||||
echo_warn "Aucun répertoire de profil Firefox trouvé dans $FIREFOX_DIR."
|
||||
fi
|
||||
|
||||
# ================================
|
||||
# Étape 3 : Suppression de Firefox ESR
|
||||
# ================================
|
||||
echo_info "Suppression de Firefox ESR..."
|
||||
sudo apt remove --purge -y firefox-esr
|
||||
#sudo apt autoremove -y
|
||||
else
|
||||
echo_info "Firefox ESR n’est pas installé — aucune sauvegarde ni suppression nécessaire."
|
||||
fi
|
||||
|
||||
# ================================
|
||||
# Étape 4 : Ajout du dépôt officiel Mozilla
|
||||
# ================================
|
||||
echo_info "Ajout du dépôt officiel Mozilla pour Firefox."
|
||||
|
||||
sudo install -d -m 0755 /etc/apt/keyrings
|
||||
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | \
|
||||
sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
|
||||
|
||||
DEB_CODENAME=$(lsb_release -cs)
|
||||
echo_info "Code-nom Debian détecté : ${DEB_CODENAME}"
|
||||
|
||||
if [[ "${DEB_CODENAME}" == "trixie" || "${DEB_CODENAME}" == "bookworm" ]]; then
|
||||
sudo tee /etc/apt/sources.list.d/mozilla.sources > /dev/null <<EOF
|
||||
Types: deb
|
||||
URIs: https://packages.mozilla.org/apt
|
||||
Suites: mozilla
|
||||
Components: main
|
||||
Signed-By: /etc/apt/keyrings/packages.mozilla.org.asc
|
||||
EOF
|
||||
else
|
||||
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | \
|
||||
sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null
|
||||
fi
|
||||
|
||||
sudo tee /etc/apt/preferences.d/mozilla > /dev/null <<EOF
|
||||
Package: *
|
||||
Pin: origin packages.mozilla.org
|
||||
Pin-Priority: 1000
|
||||
EOF
|
||||
|
||||
# ================================
|
||||
# Étape 5 : Installation de Firefox standard
|
||||
# ================================
|
||||
echo_info "Mise à jour des dépôts et installation de Firefox."
|
||||
sudo apt update
|
||||
sudo apt install -y firefox
|
||||
|
||||
echo_info "Installation terminée. Version installée :"
|
||||
firefox --version
|
||||
|
||||
echo_info "✅ Script terminé avec succès."
|
||||
|
||||
|
||||
|
||||
### Installation de ublock Origin
|
||||
|
||||
mkdir tmp
|
||||
|
||||
# On télécharge l'extension depuis addons.mozilla.org
|
||||
wget https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi -O tmp/latest.xpi
|
||||
|
||||
# On renomme le fichier avec l'uid de l'extension
|
||||
mv tmp/latest.xpi tmp/uBlock0@raymondhill.net.xpi
|
||||
|
||||
# On crée
|
||||
sudo mkdir -p /usr/lib/firefox/distribution/extensions/
|
||||
sudo cp tmp/uBlock0@raymondhill.net.xpi /usr/lib/firefox/distribution/extensions/
|
||||
|
||||
# On force les droits en lecture du fichier.
|
||||
# A vérifier si c'est vraiment utile...
|
||||
sudo chmod 644 /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi
|
||||
|
||||
## TO BE CONTINUED
|
||||
# Homepage custom avec liens vers service publics + + google search + background
|
||||
#
|
||||
175
scripts/gnome.sh
Executable file
175
scripts/gnome.sh
Executable file
@ -0,0 +1,175 @@
|
||||
#! /bin/bash
|
||||
|
||||
##################
|
||||
# GNOME #
|
||||
##################
|
||||
|
||||
# Définir la variable DBUS_SESSION_BUS_ADDRESS si elle n'existe pas
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus"
|
||||
fi
|
||||
# Lancer dbus-launch si nécessaire
|
||||
if ! dbus-launch --sh-syntax >/dev/null 2>&1; then
|
||||
eval $(dbus-launch --sh-syntax)
|
||||
fi
|
||||
|
||||
# Installation des paquets
|
||||
sudo apt update
|
||||
sudo apt install -y \
|
||||
gir1.2-gmenu-3.0 \
|
||||
pipx \
|
||||
libgnome-menu-3-0 \
|
||||
gnome-shell-extensions \
|
||||
dconf-cli \
|
||||
dbus-x11
|
||||
|
||||
# Configuration utilisateur
|
||||
echo "🔧 Configuration des paramètres GNOME pour l'utilisateur actuel..."
|
||||
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
|
||||
gsettings set org.gnome.shell favorite-apps "['firefox-esr.desktop', 'org.gnome.Nautilus.desktop', 'libreoffice-startcenter.desktop', 'org.gnome.Software.desktop']"
|
||||
|
||||
sudo mkdir -p /usr/share/wallpapers/GN
|
||||
sudo cp -r files/wallpapers/* /usr/share/wallpapers/GN/
|
||||
gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/wallpapers/GN/clouds.png"
|
||||
|
||||
|
||||
|
||||
# Configuration système
|
||||
echo "Application des paramètres par défaut pour tous les utilisateurs..."
|
||||
sudo mkdir -p /etc/dconf/db/local.d/ && sudo cp files/00-defaults $_
|
||||
sudo cp files/user /etc/dconf/profile/user
|
||||
sudo dconf update
|
||||
|
||||
|
||||
########################
|
||||
## EXTENSIONS GNOME ##
|
||||
# Installation via pipx > gnome-extensions-cli/gext
|
||||
# Paramétrage
|
||||
########################
|
||||
|
||||
|
||||
|
||||
# Extensions à installer (IDs officiels)
|
||||
EXTENSIONS=(
|
||||
"dash-to-panel@jderose9.github.com"
|
||||
"arcmenu@arcmenu.com"
|
||||
)
|
||||
|
||||
# S'assurer que pipx est installé
|
||||
if ! command -v pipx &>/dev/null; then
|
||||
echo "pipx n'est pas installé. Installation..."
|
||||
sudo apt install pipx -y
|
||||
pipx ensurepath
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
hash -r
|
||||
fi
|
||||
|
||||
# Installation de gnome-extensions-cli (gext)
|
||||
pipx install gnome-extensions-cli --system-site-packages --force
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
hash -r
|
||||
|
||||
# Paramétrage des extensions
|
||||
sudo cp files/logo_icon_gn.png /usr/share/icons/
|
||||
echo "Importation des préférences de dash-to-panel..."
|
||||
dconf load /org/gnome/shell/extensions/dash-to-panel/ < files/dconf/dash-to-panel.conf
|
||||
|
||||
sudo dconf update
|
||||
|
||||
# Vérification de la version de GNOME Shell
|
||||
GNOME_SHELL_VERSION=$(gnome-shell --version | cut -d' ' -f3)
|
||||
echo "Version de GNOME Shell détectée : $GNOME_SHELL_VERSION"
|
||||
|
||||
# Installation et activation des extensions
|
||||
echo "Installation et activation des extensions GNOME..."
|
||||
for ext in "${EXTENSIONS[@]}"; do
|
||||
echo "Installation de l'extension $ext..."
|
||||
if ! gext install "$ext" ; then
|
||||
echo "Échec de l'installation de $ext. Vérifiez votre connexion internet ou l'ID de l'extension."
|
||||
else
|
||||
echo "Activation de l'extension $ext..."
|
||||
gnome-extensions enable "$ext"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Installation terminée. Redémarrez GNOME Shell (Alt+F2 puis 'r') pour appliquer les changements."
|
||||
|
||||
|
||||
|
||||
##################
|
||||
# GNOME - Mise en place pour les nouveaux utilisateurs
|
||||
##################
|
||||
|
||||
echo "🔧 Mise en place des paramètres de Gnome pour les (futurs) nouveaux utilisateurs."
|
||||
|
||||
mkdir -p tmp
|
||||
dconf dump /org/gnome/shell/ > tmp/gnome-extensions.conf
|
||||
sudo mkdir -p /etc/skel/.config/dconf/ && sudo cp tmp/gnome-extensions.conf $_
|
||||
|
||||
# Copie des extensions dans /usr/share
|
||||
sudo cp -r ~/.local/share/gnome-shell/extensions/* /usr/share/gnome-shell/extensions/
|
||||
|
||||
# Modification des droits sur le fichier 'metadata.json' de chaque extension
|
||||
for ext in "${EXTENSIONS[@]}"; do
|
||||
metadata_path="/usr/share/gnome-shell/extensions/$ext/metadata.json"
|
||||
if [ -f "$metadata_path" ]; then
|
||||
echo "Modification des droits sur $metadata_path"
|
||||
sudo chmod 644 "$metadata_path"
|
||||
else
|
||||
echo "⚠️ Fichier $metadata_path introuvable, extension peut-être non copiée correctement."
|
||||
fi
|
||||
done
|
||||
|
||||
# Création du script de post-login GNOME qui active les extensions
|
||||
sudo tee /usr/local/bin/activate-gnome-extensions.sh > /dev/null << 'EOF'
|
||||
#!/bin/bash
|
||||
exec >> ~/.config/gnome-extensions-activate.log 2>&1
|
||||
set -e
|
||||
|
||||
# Fonction pour activer une extension et vérifier son succès
|
||||
activate_extension() {
|
||||
local ext="$1"
|
||||
if gnome-extensions info "$ext" >/dev/null 2>&1; then
|
||||
echo "[+] Activation de l'extension : $ext"
|
||||
gnome-extensions enable "$ext"
|
||||
else
|
||||
echo "[!] Extension introuvable : $ext"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo "[*] Chargement des paramètres GNOME..."
|
||||
dconf load /org/gnome/shell/ < ~/.config/dconf/gnome-extensions.conf
|
||||
|
||||
# Liste des extensions
|
||||
EXTENSIONS=(
|
||||
"dash-to-panel@jderose9.github.com"
|
||||
"arcmenu@arcmenu.com"
|
||||
)
|
||||
|
||||
# Activation des extensions
|
||||
for ext in "${EXTENSIONS[@]}"; do
|
||||
activate_extension "$ext"
|
||||
done
|
||||
|
||||
# Suppression du .desktop uniquement si tout a réussi
|
||||
echo "[✓] Toutes les opérations ont réussi. Suppression du .desktop."
|
||||
rm -f ~/.config/autostart/gnome-extensions-activate.desktop
|
||||
EOF
|
||||
|
||||
# Rendre le script exécutable
|
||||
sudo chmod +x /usr/local/bin/activate-gnome-extensions.sh
|
||||
|
||||
# Création du fichier .desktop pour autostart dans /etc/skel
|
||||
sudo mkdir -p /etc/skel/.config/autostart
|
||||
sudo tee /etc/skel/.config/autostart/gnome-extensions-activate.desktop > /dev/null << 'EOF'
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=GNOME Extensions Auto-Activate
|
||||
Exec=/usr/local/bin/activate-gnome-extensions.sh
|
||||
X-GNOME-Autostart-enabled=true
|
||||
NoDisplay=true
|
||||
EOF
|
||||
|
||||
# Modification du pack d'icônes
|
||||
#bash change-icons.sh
|
||||
110
scripts/install_apps.sh
Executable file
110
scripts/install_apps.sh
Executable file
@ -0,0 +1,110 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
sudo cp files/extrepo.config.yaml /etc/extrepo/config.yaml
|
||||
|
||||
# Vérifie si une commande ou un Flatpak est installé
|
||||
is_installed() {
|
||||
local app_name="$1"
|
||||
local flatpak_ref="${2:-}" # valeur vide si non fournie
|
||||
|
||||
if command -v "$app_name" &> /dev/null; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -n "$flatpak_ref" ]] && flatpak info --show-ref "$flatpak_ref" &> /dev/null; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
# 📺 FreeTube (Flatpak)
|
||||
install_freetube() {
|
||||
local flatpak_ref="io.freetubeapp.FreeTube"
|
||||
local runtime="org.freedesktop.Platform//25.08"
|
||||
|
||||
# Vérifie si FreeTube est déjà installé
|
||||
if is_installed freetube "$flatpak_ref"; then
|
||||
echo "📺 FreeTube est déjà installé (Flatpak ou système)."
|
||||
return
|
||||
fi
|
||||
|
||||
echo "🔄 Mise à jour des métadonnées Flathub..."
|
||||
flatpak update --appstream -y
|
||||
|
||||
echo "📦 Installation du runtime nécessaire..."
|
||||
if ! flatpak list --runtime | grep -qw "org.freedesktop.Platform.*25.08"; then
|
||||
flatpak install -y flathub "$runtime"
|
||||
else
|
||||
echo "✅ Runtime déjà installé."
|
||||
fi
|
||||
|
||||
echo "📦 Installation de FreeTube..."
|
||||
flatpak install -y flathub "$flatpak_ref"
|
||||
|
||||
# Vérifie que l'installation a réussi
|
||||
if is_installed freetube "$flatpak_ref"; then
|
||||
echo "🎉 FreeTube a été installé avec succès !"
|
||||
else
|
||||
echo "❌ Échec de l'installation de FreeTube."
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
# 🎥 Zoom (via .deb)
|
||||
install_zoom() {
|
||||
if is_installed zoom; then
|
||||
echo "🎥 Zoom est déjà installé."
|
||||
return
|
||||
fi
|
||||
|
||||
run_step "🎥 Installation de Zoom (.deb officiel)" "
|
||||
wget -q https://zoom.us/client/latest/zoom_amd64.deb -O /tmp/zoom.deb &&
|
||||
sudo apt install -y /tmp/zoom.deb &&
|
||||
rm /tmp/zoom.deb
|
||||
"
|
||||
}
|
||||
|
||||
# 💬 Element (via extrepo)
|
||||
install_element() {
|
||||
if is_installed element-desktop; then
|
||||
echo "💬 Element est déjà installé."
|
||||
return
|
||||
fi
|
||||
|
||||
run_step "💬 Installation de Element (Extrepo)" "
|
||||
sudo extrepo enable element.io &&
|
||||
sudo apt update &&
|
||||
sudo apt install -y element-desktop
|
||||
"
|
||||
}
|
||||
|
||||
# 🌐 Google Chrome (via extrepo)
|
||||
install_chrome() {
|
||||
if is_installed google-chrome; then
|
||||
echo "🌐 Google Chrome est déjà installé."
|
||||
return
|
||||
fi
|
||||
|
||||
run_step "🌐 Installation de Google Chrome (Extrepo)" "
|
||||
sudo extrepo enable google_chrome &&
|
||||
sudo apt update &&
|
||||
sudo apt install -y google-chrome-stable
|
||||
"
|
||||
}
|
||||
|
||||
# 🧑💻 VSCodium (via extrepo)
|
||||
install_vscodium() {
|
||||
if is_installed codium; then
|
||||
echo "🧑💻 VSCodium est déjà installé."
|
||||
return
|
||||
fi
|
||||
|
||||
run_step "🧑💻 Installation de VSCodium (Extrepo)" "
|
||||
sudo extrepo enable vscodium &&
|
||||
sudo apt update &&
|
||||
sudo apt install -y codium
|
||||
"
|
||||
}
|
||||
6
trixie-toolbox.sh
Normal file → Executable file
6
trixie-toolbox.sh
Normal file → Executable file
@ -81,7 +81,7 @@ post_install_base() {
|
||||
"
|
||||
|
||||
run_step "🦊 Installation de Firefox" "
|
||||
bash firefox.sh
|
||||
bash scripts/firefox.sh
|
||||
"
|
||||
}
|
||||
|
||||
@ -89,12 +89,12 @@ post_install_base() {
|
||||
configure_gnome() {
|
||||
echo "🖥️ Configuration de GNOME..."
|
||||
run_step "Configuration de GNOME (script externe)" "
|
||||
bash gnome.sh
|
||||
bash scripts/gnome.sh
|
||||
"
|
||||
}
|
||||
|
||||
# --- Fichiers annexes
|
||||
source ./install_apps.sh
|
||||
source ./scripts/install_apps.sh
|
||||
|
||||
|
||||
install_apps_menu() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user