#!/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 # Désactivation de l'installation automatique des paquets recommandés cat > /etc/apt/apt.conf.d/00pas-de-recommends < /dev/null 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/ /" | tee /etc/apt/sources.list.d/qownnotes.list > /dev/null apt update apt install -y 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) apt install -y $release # Logiciel hors dépôts : PVE VDI Client apt install -y python3-pip python3-proxmoxer python3-tk virt-viewer 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 # 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/ apt install -y /tmp/wibian/deskreen_*.deb # 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/ apt install -y /tmp/wibian/youtube-music_*.deb # Logiciel hors dépots : DroidCam apt install -y libavutil-dev libswscale-dev libasound2-dev libspeex-dev libusbmuxd-dev libplist-dev libturbojpeg0-dev linux-headers-`uname -r` gcc package="https://(.*)droidcam_(.*).zip" wget $(curl -L -s https://api.github.com/repos/dev47apps/droidcam/releases/latest | grep -o -E $package) unzip droidcam_*.zip -d droidcam cd droidcam && ./install-client && ./install-video cd $builddir # Flatpak (reboot nécéssaire) flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install -y \ flathub \ com.github.tchx84.Flatseal \ io.github.giantpinkrobots.flatsweep \ io.freetubeapp.FreeTube \ com.github.geigi.cozy \ com.discordapp.Discord \ com.jgraph.drawio.desktop \ me.hyliu.fluentreader \ io.github.hmlendea.geforcenow-electron \ org.onlyoffice.desktopeditors \ org.jdownloader.JDownloader \ 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 # 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 # Mise à jour du répertoire /home de l'utilisateur principal sudo à l'origine de l'installation mkdir -p /home/$username/.config/autostart cp $builddir/autostart/* /home/$username/.config/autostart/ #cp $builddir/runonce/* /home/$username/.config/autostart/ mkdir -p /home/$username/.config/dconf cp $builddir/dconf/user.txt /home/$username/.config/dconf/ mkdir -p /home/$username/.config/mate/panel2.d/default/launchers cp $builddir/launchers/* /home/$username/.config/mate/panel2.d/default/launchers/ mkdir -p /home/$username/.config/variety cp $builddir/variety/* /home/$username/.config/variety/ mkdir -p /home/$username/.shutter/profiles cp $builddir/shutter/* /home/$username/.shutter/profiles/ mkdir -p /home/$username/.themes unzip $builddir/themes.zip -d /home/$username/.themes/ # Application du droit de propriété pour l'utilisateur principal sudo chown -R $username:$username /home/$username/.config/ chown -R $username:$username /home/$username/.shutter/ chown -R $username:$username /home/$username/.themes/ # Mise à jour du répertoire /home pour les nouveaux utilisateurs via /etc/skel (Skeleton) mkdir -p /etc/skel/.config/autostart cp $builddir/autostart/* /etc/skel/.config/autostart/ mkdir -p /etc/skel/.config/dconf cp $builddir/dconf/user.txt /etc/skel/.config/dconf/user.txt 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/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/.themes unzip $builddir/themes.zip -d /etc/skel/.themes/ # Suppression des sources d'installation du script rm -r $builddir rm -r /tmp/wibian/ # Nettoyage des paquets inutiles du système 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