Fedora-Setups/setup_f42

117 lines
4.1 KiB
Bash

#!/bin/bash
LOG_FILE="/var/log/tyleo-station-setup.log"
mkdir -p "$(dirname "$LOG_FILE")"
exec > >(tee -a "$LOG_FILE") 2>&1
log() {
echo "$(date '+%d/%m/%Y @ %H:%M:%S') | $1"
}
USE_NVIDIA=false
if [[ "$1" == "--nvidia" ]]; then
USE_NVIDIA=true
log "Mode NVIDIA activé : Steam, émulateurs et Prism Launcher utiliseront l'offloading GPU"
fi
log "=== DÉBUT DE L'INSTALLATION ==="
# RPM Fusion
log "Ajout du dépôt RPM Fusion Free"
sudo dnf install -y --nogpgcheck \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
# Flatpak & Flathub
log "Installation de Flatpak et configuration de Flathub"
sudo dnf install -y flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-delete fedora || log "Remote 'fedora' déjà supprimé ou inexistant."
# Suppression de Firefox
log "Désinstallation de Firefox"
sudo dnf remove -y firefox
# Steam & Proton
log "Installation de Steam, ProtonTricks, ProtonPlus"
flatpak install -y flathub com.valvesoftware.Steam com.github.Matoking.protontricks com.vysp3r.ProtonPlus
if [ "$USE_NVIDIA" = true ]; then
flatpak override --user \
--env=FLATPAK_GL_DRIVERS=nvidia \
--env=__NV_PRIME_RENDER_OFFLOAD=1 \
--env=__GLX_VENDOR_LIBRARY_NAME=nvidia com.valvesoftware.Steam
log "Steam configuré pour offloading NVIDIA"
fi
# Vivaldi via Flatpak
log "Ajout du dépôt Vivaldi (RPM)"
sudo flatpak install -y flathub com.vivaldi.Vivaldi
# Autres applications Flatpak
log "Installation de Bitwarden, SaveDesktop, Linux Themes Store"
flatpak install -y flathub \
com.bitwarden.desktop \
io.github.vikdevelop.SaveDesktop \
io.github.debasish_patra_1987.linuxthemestore
log "Installation de Flatseal et DistroShelf"
flatpak install -y flathub com.github.tchx84.Flatseal com.ranfdev.DistroShelf
log "Permissions étendues pour DistroShelf"
flatpak override --user --filesystem=home --filesystem=/etc --filesystem=/var \
--device=all --socket=ssh-auth --socket=x11 --socket=wayland \
--talk-name=org.freedesktop.Flatpak com.ranfdev.DistroShelf
log "Installation de Visual Studio Code"
flatpak install -y flathub com.visualstudio.code
flatpak override --user --filesystem=home --filesystem=/etc --filesystem=/var \
--socket=wayland --socket=x11 com.visualstudio.code
# Ptyxis Terminal
log "Installation de Ptyxis Terminal"
flatpak install -y flathub io.ayan4m1.ptyxis
xdg-mime default io.ayan4m1.ptyxis.desktop x-terminal-emulator.desktop || true
# Polices
log "Installation des polices Comfortaa, JetBrains Mono, Oxanium"
FONT_DIR="/usr/share/fonts/extra"
sudo mkdir -p "$FONT_DIR"
cd /tmp
declare -A fonts
fonts["Comfortaa"]="https://github.com/google/fonts/raw/main/ofl/comfortaa/Comfortaa%5Bwght%5D.ttf"
fonts["JetBrainsMono"]="https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip"
fonts["Oxanium"]="https://github.com/google/fonts/raw/main/ofl/oxanium/Oxanium%5Bwght%5D.ttf"
sudo wget -q -O "$FONT_DIR/Comfortaa.ttf" "${fonts["Comfortaa"]}"
wget -q -O JetBrainsMono.zip "${fonts["JetBrainsMono"]}"
unzip -q JetBrainsMono.zip -d jetbrains
sudo cp jetbrains/ttf/*.ttf "$FONT_DIR"
sudo wget -q -O "$FONT_DIR/Oxanium.ttf" "${fonts["Oxanium"]}"
sudo fc-cache -f -v
# Emulateurs & Prism Launcher
log "Installation de PCSX2, PPSSPP, DuckStation, Prism Launcher"
flatpak install -y flathub \
net.pcsx2.PCSX2 \
org.ppsspp.PPSSPP \
org.duckstation.DuckStation \
org.prismlauncher.PrismLauncher
if [ "$USE_NVIDIA" = true ]; then
for app in net.pcsx2.PCSX2 org.ppsspp.PPSSPP org.duckstation.DuckStation org.prismlauncher.PrismLauncher; do
flatpak override --user \
--env=FLATPAK_GL_DRIVERS=nvidia \
--env=__NV_PRIME_RENDER_OFFLOAD=1 \
--env=__GLX_VENDOR_LIBRARY_NAME=nvidia "$app"
log "$app configuré pour offloading NVIDIA"
done
fi
# Configuration Budgie Desktop - polices
log "Application des polices dans Budgie Desktop (Comfortaa & JetBrains Mono)"
gsettings set org.gnome.desktop.interface font-name 'Comfortaa 10'
gsettings set org.gnome.desktop.interface document-font-name 'Comfortaa 10'
gsettings set org.gnome.desktop.interface monospace-font-name 'JetBrains Mono 10'
log "=== INSTALLATION COMPLÈTE AVEC SUCCÈS ==="