#!/usr/bin/env bash # Bannière cat wibian.figlet echo -ne "\n" # 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, utiliser la commande : sudo bash install.sh" 2>&1 exit 1 fi username=$(id -u -n 1000) builddir=$(pwd) # Changement de la langue par défaut localectl set-locale LANG=fr_FR.UTF-8 echo "La langue française a été définie par défaut pour ce système" # Définition du nom d'hôte echo "- Quel nom d'hôte voulez-vous donner à cette nouvelle machine ?" read machinename clear hostnamectl set-hostname $machinename sed -i '1i 127.0.0.1\t'$machinename /etc/hosts # noatime cp /etc/fstab /etc/fstab.bck awk '!/^#/ && ($3 != "swap") && ($2 != "/media/cdrom0") { if(!match(/noatime/, $4)) $4=$4",noatime" } 1' /etc/fstab > /etc/fstab.tmp mv /etc/fstab.tmp /etc/fstab # Update packages list and update system apt update apt upgrade -y # Install nala apt install nala -y nala fetch --auto -y # Installation et configuration du logiciel des gestion automatique des mises à jour # Commande pour tester le bon fonctionnement : unattended-upgrades --dry-run --debug nala install unattended-upgrades -y cp 50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades cp /usr/share/unattended-upgrades/20auto-upgrades /etc/apt/apt.conf.d/ sed -i 's/InhibitDelayMaxSec=30/InhibitDelayMaxSec=1800/g' /usr/lib/systemd/logind.conf.d/unattended-upgrades-logind-maxdelay.conf # Installation des composants du serveur graphique Xorg sudo nala install -y \ xorg \ xbacklight \ xbindkeys \ xinput # Installation de l'environnement de bureau MATE en mode core sudo nala install mate-desktop-environment-core # Installation du gestionnaire d'affichage sudo nala install lightdm lightdm-gtk-greeter-settings # Installation des paquets complémentaires pour MATE sudo nala install -y \ atril \ blueman \ caja-nextcloud \ caja-share \ celluloid \ foliate \ cups \ engrampa \ eom \ gnome-system-tools \ gparted \ gtkhash \ kazam \ metadata-cleaner \ network-manager-gnome \ network-manager-openvpn \ mate-applet-brisk-menu \ mate-calc \ mate-control-center \ mate-power-manager \ mate-screensaver \ mate-system-monitor \ mate-tweak \ mate-user-guide \ mate-utils \ numlockx \ peek \ pluma \ qshutdown \ printer-driver-all \ picom \ redshift-gtk \ seahorse \ shutter \ stacer \ tilix \ variety \ simple-scan \ synaptic \ system-config-printer \ xscreensaver-gl \ # Activation des services fraichement installés sudo systemctl enable cups sudo systemctl enable bluetooth sudo systemctl enable lightdm # Installation des paquets utilitaires nala install curl flatpak freerdp2-x11 figlet git htop libnotify-bin micro nmap speedtest-cli stress s-tui swaks testdisk tldr tlp wmctrl xdotool zram-tools -y # Installation des logiciels en fonction du profil d'utilisation (décommenter selon le besoin) # sudo nala install blender # sudo nala install cheese # sudo apt install -y geany geany-plugin-addons geany-plugin-git-changebar geany-plugin-overview geany-plugin-spellcheck geany-plugin-treebrowser geany-plugin-vimode # sudo nala install gimp # sudo nala install hugin # sudo nala install kdenlive # sudo nala install obs-studio # Désinstallation des paquets non désirés nala remove fortunes-min -y # Approbation du dépot pour QOwnNotes SIGNED_BY='/etc/apt/keyrings/qownnotes.gpg' sudo mkdir -p "$(dirname "${SIGNED_BY}")" curl --silent --show-error --location http://download.opensuse.org/repositories/home:/pbek:/QOwnNotes/Debian_12/Release.key | gpg --dearmor | sudo tee "${SIGNED_BY}" > /dev/null sudo chmod u=rw,go=r "${SIGNED_BY}" # Ajout du dépot et installation de QOwnNotes à partir de celui-ci SIGNED_BY='/etc/apt/keyrings/qownnotes.gpg' ARCHITECTURE="$(dpkg --print-architecture)" echo "deb [arch=${ARCHITECTURE} signed-by=${SIGNED_BY}] http://download.opensuse.org/repositories/home:/pbek:/QOwnNotes/Debian_12/ /" | sudo tee /etc/apt/sources.list.d/qownnotes.list > /dev/null sudo apt update sudo apt install qownnotes # Logiciel hors dépôts : Applications Web wget --recursive --no-parent --no-host-directories --no-directories --accept '*webapp-manager*deb' 'http://packages.linuxmint.com/pool/main/w/webapp-manager/' -P /tmp/wibian/ release=$(ls /tmp/wibian/webapp-manager_1.* | tail -1) sudo nala install $release -y # Logiciel hors dépôts : PVE VDI Client nala install python3-pip python3-proxmoxer python3-tk virt-viewer git -y 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 # Logiciel hors dépots : Deskreen package="https://(.*)deskreen_(.*).deb" wget $(curl -L -s https://api.github.com/repos/pavlobu/deskreen/releases/latest | grep -o -E $package) -P /tmp/wibian/ nala install /tmp/wibian/deskreen_*.deb -y # Logiciel hors dépots : Youtube music package="https://(.*)youtube-music_(.*).deb" wget $(curl -L -s https://api.github.com/repos/th-ch/youtube-music/releases/latest | grep -o -E $package) -P /tmp/wibian/ nala install /tmp/wibian/youtube-music_*.deb -y # Installation des thèmes wibian-light et wibian-dark nala install greybird-gtk-theme papirus-icon-theme -y mkdir -p /home/$username/.themes unzip $builddir/themes.zip -d /home/$username/.themes/ chown -R $username:$username /home/$username/.themes/ # Envoi du message de notification notify-send -i $builddir/icones/sympatech_logo_bleu.png "Information" "Le script d'installation touche bientôt à sa fin" -t 0 notify-send -i $builddir/icones/sympatech_logo_rouge.png "Attention" "Redémarrage imminent après l'installation des paquets flatpak" -t 0 # Flatpak (reboot nécéssaire) flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub io.github.giantpinkrobots.flatsweep io.freetubeapp.FreeTube com.github.geigi.cozy io.crow_translate.CrowTranslate com.discordapp.Discord com.jgraph.drawio.desktop com.github.tchx84.Flatseal me.hyliu.fluentreader io.github.hmlendea.geforcenow-electron org.onlyoffice.desktopeditors org.jdownloader.JDownloader io.gitlab.librewolf-community org.gnome.World.PikaBackup com.github.PintaProject.Pinta com.stremio.Stremio de.haeckerfelix.Shortwave com.github.marinm.songrec io.github.hakandundar34coding.mini-system-monitor com.github.rajsolai.textsnatcher app.drey.Warp -y # Scripts exécutés au premier redémarrage dans le dossier caché .runonce de l'utilisateur mkdir -p /home/$username/.runonce cp $builddir/runonce/* /home/$username/.runonce/ chown -R $username:$username /home/$username/.runonce/ chmod +x /home/$username/.runonce/*.sh # Edition du fichier crontab pour déterminer les tâches à éxcuter au démarrage. cp /etc/crontab /etc/crontab.bck sed -i '$a@reboot root sleep 15; bash /home/'"$username"'/.runonce/reboot.sh' /etc/crontab # Copie des lanceurs d'applications personnalisés dans le tableau de bord de Mate mkdir -p /home/$username/.config/mate/panel2.d/default/launchers cp $builddir/launchers/* /home/$username/.config/mate/panel2.d/default/launchers/ chown -R $username:$username /home/$username/.config/mate/ # Configuration du profil dconf de l'utilisateur pour synchroniser les paramètres via un fichier texte mkdir -p /etc/dconf/profile cp $builddir/dconf/user /etc/dconf/profile/user rm /home/$username/.config/dconf/user cp $builddir/dconf/user.txt /home/$username/.config/dconf/user.txt # Restauration des paramètres de Variety mkdir -p /home/$username/.config/variety cp $builddir/variety/* /home/$username/.config/variety/ chown -R $username:$username /home/$username/.config/variety/ # Restauration des pramètres de Shutter mkdir -p /home/$username/.shutter/profiles cp $builddir/shutter/* /home/$username/.shutter/profiles/ chown -R $username:$username /home/$username/.shutter/ nohup shutter &>/dev/null & sleep 10 wmctrl -c "Shutter" # Lancement des commandes auto-éxecutées après le login utilisateur : Crow Translate, Shutter, Variety, Permissions Flatpak mkdir -p /home/$username/.config/autostart cp $builddir/autostart/* /home/$username/.config/autostart/ chown -R $username:$username /home/$username/.config/autostart/ # Mise à jour du répertoire /home pour les nouveaux utilisateurs via /etc/skel (Skeleton) unzip $builddir/themes.zip -d /etc/skel/.themes/ mkdir -p /etc/skel/.runonce cp $builddir/runonce/flatpak.sh /etc/skel/.runonce/ chmod +x /etc/skel/.runonce/flatpak.sh mkdir -p /etc/skel/.config/mate/panel2.d/default/launchers cp $builddir/launchers/* /etc/skel/.config/mate/panel2.d/default/launchers/ mkdir -p /etc/skel/.config/dconf cp $builddir/dconf/user.txt /etc/skel/.config/dconf/user.txt mkdir -p /etc/skel/.config/variety cp $builddir/variety/* /etc/skel/.config/variety/ mkdir -p /etc/skel/.shutter/profiles cp $builddir/shutter/* /etc/skel/.shutter/profiles/ mkdir -p /etc/skel/.config/autostart cp $builddir/autostart/* /etc/skel/.config/autostart/ # Suppression des sources d'installation du script rm -r $builddir rm -r /tmp/wibian/ # 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