Compare commits

...

7 Commits

Author SHA1 Message Date
d0269f3295 clean up tmp dir for ublock origin install in firefow.sh 2026-02-19 10:20:06 +01:00
926fd75e87 update readme + LICENSE 2026-01-28 11:42:43 +01:00
a3f8d139e4 clean up old scripts 2026-01-28 11:37:16 +01:00
b61f1e4286 clean up old scripts 2026-01-28 11:36:54 +01:00
90e58bfa0a merge Brice branch + clean up 2026-01-28 11:35:44 +01:00
1a54f548f6 Merge remote-tracking branch 'origin/brice' 2026-01-28 11:26:11 +01:00
be04f0a515 merge brice branch 2025-10-29 12:57:04 +01:00
13 changed files with 94 additions and 378 deletions

Binary file not shown.

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Le Garage Numérique
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,2 +1,70 @@
# Debian Trixie Garagenum post installation script
# 🐧 Trixie-GN Postinstall
Scripts dautomatisation de configuration et dinstallation post-installation pour **Debian 13 “Trixie”**.
Ce dépôt contient une suite de scripts Shell destinés à automatiser la configuration dun système Debian fraîchement installé selon les besoins standards du *Garage Numérique*. Ces scripts permettent une installation rapide dapplications, denvironnements de bureau et de personnalisations utiles après une installation minimale de Debian.
---
## 🚀 Objectif
Lobjectif de ce projet est de :
- 🚀 Automatiser les étapes de configuration après linstallation de Debian Trixie. :contentReference[oaicite:0]{index=0}
- 📦 Installer des applications courantes (navigateurs, outils de développement, etc.).
- 🎨 Configurer lenvironnement GNOME et autres préférences utilisateur.
- 🧰 Fournir un point de départ pour des configurations personnalisées selon les besoins dun groupe ou dun poste de travail.
---
## 📁 Contenu du dépôt
| Fichier / Script | Description |
|------------------|-------------|
| `post_install_trixie.sh` | Script principal orchestrant les sous-scripts. |
| `install_apps.sh` | Installation dapplications essentielles (navigateur, utilitaires, etc.). |
| `gnome.sh` | Configuration et personnalisation de lenvironnement GNOME. |
| `firefox.sh` | Installation et configuration spécifiques à Firefox. |
| `_change-icons.sh` | Script utilitaire pour modifier les icônes du système. |
| `_helper.note` | Notes et rappels pour contributeurs. |
---
## 🧬 Prérequis
Avant dexécuter les scripts, assurez-vous davoir :
- Une **installation de Debian 13 “Trixie”** fonctionnelle. :contentReference[oaicite:1]{index=1}
- Un accès en **sudo / root**.
- Internet pour linstallation des paquets.
---
## 📦 Installation & Exécution
1. **Cloner le dépôt :**
```bash
git clone https://git.legaragenumerique.fr/GARAGENUM/trixie-gn-postinstall.git
cd trixie-gn-postinstall
chmod +x *.sh
sudo ./post_install_trixie.sh
```
## ⚙️ Personnalisation
Tu peux modifier ou étendre les scripts selon les besoins :
Ajouter ou retirer des packages dans install_apps.sh.
Adapter la configuration GNOME dans gnome.sh.
Ajouter des hooks pour dautres environnements (ex : KDE, XFCE) si nécessaire.
## 🙌 Contribuer
Les contributions sont les bienvenues ! 🛠️
Fork le projet.
Crée une branche feature/ ou fix/.
Ouvre une merge request avec une description claire des changements.
Respecte les bonnes pratiques Git (commits courts, descriptifs).
## 📜 Licence
Ce projet est open-source. Merci de consulter le fichier LICENSE pour plus de détails.

View File

@ -1,93 +0,0 @@
GGGGGGGGGGGGG OOOOOOOOO SSSSSSSSSSSSSSS
GGG::::::::::::G OO:::::::::OO SS:::::::::::::::S
GG:::::::::::::::G OO:::::::::::::OO S:::::SSSSSS::::::S
G:::::GGGGGGGG::::G O:::::::OOO:::::::OS:::::S SSSSSSS
G:::::G GGGGGGnnnn nnnnnnnn O::::::O O::::::OS:::::S
G:::::G n:::nn::::::::nn O:::::O O:::::OS:::::S
G:::::G n::::::::::::::nn O:::::O O:::::O S::::SSSS
G:::::G GGGGGGGGGGnn:::::::::::::::nO:::::O O:::::O SS::::::SSSSS
G:::::G G::::::::G n:::::nnnn:::::nO:::::O O:::::O SSS::::::::SS
G:::::G GGGGG::::G n::::n n::::nO:::::O O:::::O SSSSSS::::S
G:::::G G::::G n::::n n::::nO:::::O O:::::O S:::::S
G:::::G G::::G n::::n n::::nO::::::O O::::::O S:::::S
G:::::GGGGGGGG::::G n::::n n::::nO:::::::OOO:::::::OSSSSSSS S:::::S
GG:::::::::::::::G n::::n n::::n OO:::::::::::::OO S::::::SSSSSS:::::S
GGG::::::GGG:::G n::::n n::::n OO:::::::::OO S:::::::::::::::SS
GGGGGG GGGG nnnnnn nnnnnn OOOOOOOOO SSSSSSSSSSSSSSS
,ad8888ba,
d8"' `"8b
d8'
88 8b,dPPYba, ,adPPYba, 88,dPYba,,adPYba, ,adPPYba,
88 88888 88P' `"8a a8" "8a 88P' "88" "8a a8P_____88
Y8, 88 88 88 8b d8 88 88 88 8PP"""""""
Y8a. .a88 88 88 "8a, ,a8" 88 88 88 "8b, ,aa
`"Y88888P" 88 88 `"YbbdP"' 88 88 88 `"Ybbd8"'
██████╗ ███╗ ██╗ ██████╗ ███████╗
██╔════╝ ████╗ ██║ ██╔═══██╗██╔════╝
██║ ███╗██╔██╗ ██║ ██║ ██║███████╗
██║ ██║██║╚██╗██║ ██║ ██║╚════██║
╚██████╔╝██║ ╚████║ ╚██████╔╝███████║
╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
|| A sweet post-install script ||
||
▄████ ███▄ █ ▒█████ ███▄ ▄███▓ ▓█████
██▒ ▀█▒ ██ ▀█ █ ▒██▒ ██▒ ▓██▒▀█▀ ██▒ ▓█ ▀
▒██░▄▄▄░ ▓██ ▀█ ██▒ ▒██░ ██▒ ▓██ ▓██░ ▒███
░▓█ ██▓ ▓██▒ ▐▌██▒ ▒██ ██░ ▒██ ▒██ ▒▓█ ▄
░▒▓███▀▒ ▒██░ ▓██░ ░ ████▓▒░ ▒██▒ ░██▒ ░▒████▒
░▒ ▒ ░ ▒░ ▒ ▒ ░ ▒░▒░▒░ ░ ▒░ ░ ░ ░░ ▒░ ░
░ ░ ░ ░░ ░ ▒░ ░ ▒ ▒░ ░ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░
░ ░ ░ ░ ░ ░ ░
#####
# # # # #### # # ######
# ## # # # ## ## #
# #### # # # # # # ## # #####
# # # # # # # # # #
# # # ## # # # # #
##### # # #### # # ######
d888b8b 88bd88b d8888b 88bd8b,d88b d8888b
d8P' ?88 88P' ?8b d8P' ?88 88P'`?8P'?8b d8b_,dP
88b ,88b d88 88P 88b d88 d88 d88 88P 88b
`?88P'`88b d88' 88b `?8888P' d88' d88' 88b `?888P'
)88
,88P
`?8888P
██████╗ ███╗ ██╗ ██████╗ ███╗ ███╗███████╗
██╔════╝ ████╗ ██║██╔═══██╗████╗ ████║██╔════╝
██║ ███╗██╔██╗ ██║██║ ██║██╔████╔██║█████╗
██║ ██║██║╚██╗██║██║ ██║██║╚██╔╝██║██╔══╝
╚██████╔╝██║ ╚████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝
,ad8888ba, ,ad8888ba, ad88888ba
d8"' `"8b d8"' `"8b d8" "8b
d8' d8' `8b Y8,
88 8b,dPPYba, 88 88 `Y8aaaaa,
88 88888 88P' `"8a 88 88 `"""""8b,
Y8, 88 88 88 Y8, ,8P `8b
Y8a. .a88 88 88 Y8a. .a8P Y8a a8P
`"Y88888P" 88 88 `"Y8888Y"' "Y88888P"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -1,111 +0,0 @@
#!/bin/bash
########################
## APT CONFIGURATION ##
# Note : passage au format deb822 >> debian.sources
########################
sudo cp files/debian.sources /etc/apt/sources.list.d/
sudo rm /etc/apt/sources.list
sudo apt update
sudo apt upgrade -y
###################
## BASE PACKAGES ##
###################
sudo apt install libgettextpo-dev gettext git wget curl build-essential linux-image-amd64 make ttf-mscorefonts-installer rsyslog unzip bash-completion flatpak libxdo3 extrepo -y
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
#sudo cp files/extrepo.config.yaml /etc/extrepo/config.yaml
#sudo extrepo enable google_chrome
#sudo apt update
#sudo apt install google-chrome-stable
#sudo extrepo enable firefox
#sudo apt install firefox
###
## LANG >> FR
# Installation de Freetube
#
#
#
## Firefox via dépôt Mozilla
#
#
#
## Install de Chrome
#
#
#
## Install de Zoom
#
#
#
## Install d'Element
#
#
#
## Install de VSCodium
#
#
#
## WebAppManager >> CAF
## Prise en main à distance
#############################
## INTERNET ACCESS CONTROL ##
#############################
echo $'[main]\ndns=none' | tee /etc/NetworkManager/conf.d/90-dns-none.conf &>/dev/null
systemctl reload NetworkManager
sudo sed -i '1,4 s/^/#/' /etc/resolv.conf && sed -i -e '$anameserver 1.1.1.2\nnameserver 2606:4700:4700::1112' /etc/resolv.conf
systemctl reload NetworkManager
#cloudflare DNS Anti Malware
#####################
# LIBREOFFICE ICONS #
#####################
# On active 'Colibre' comme jeu d'icônes par défaut
sudo chown $USERNAME:$USERNAME files/registrymodifications.xcu
mkdir -p $HOME/.config/libreoffice/4/user/ && cp files/registrymodifications.xcu $_
# On ajoute un modèle dans /etc/skel afin que tout nouvel utilisateur ait Colibre activé par défaut
sudo mkdir -p /etc/skel/.config/libreoffice/4/user/ && sudo cp files/registrymodifications.xcu $_
############
# FIREFOX #
############
bash firefox.sh
############
# GNOME #
############
if whiptail --title "Configuration GNOME" --yesno "Souhaitez-vous configurer GNOME maintenant ?" 10 60; then
echo "🔧 Lancement de gnome.sh..."
bash ./gnome.sh
else
echo "⏭️ Configuration GNOME ignorée."
fi

View File

@ -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

1
firefox.sh → scripts/firefox.sh Normal file → Executable file
View File

@ -99,6 +99,7 @@ wget https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xp
# On renomme le fichier avec l'uid de l'extension
mv tmp/latest.xpi tmp/uBlock0@raymondhill.net.xpi
rm tmp
# On crée
sudo mkdir -p /usr/lib/firefox/distribution/extensions/

0
gnome.sh → scripts/gnome.sh Normal file → Executable file
View File

0
install_apps.sh → scripts/install_apps.sh Normal file → Executable file
View File

6
trixie-toolbox.sh Normal file → Executable file
View 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() {