Un script d'installation universel et optimisé pour les distributions Linux, supportant une large gamme de familles de distributions avec détection automatique.
- 🔍 Détection automatique de la distribution Linux
- 📦 Support multi-distribution avec scripts spécialisés
- 🎯 Installation modulaire avec sélection interactive des paquets
- 🛠️ Configuration optimisée pour chaque gestionnaire de paquets
- 📊 Barres de progression et logging détaillé
- 🔧 Environnement de développement complet
- 🐚 Configuration ZSH avec Oh My Zsh
- 📝 Logging complet pour debugging
- 🧹 Nettoyage automatique du système
├── install.sh # Script principal avec détection auto
├── common/
│ └── functions.sh # Fonctions communes partagées
└── distributions/
├── debian/
│ └── install.sh # Ubuntu, Debian, Mint, Elementary, Pop!_OS, Kali
├── arch/
│ └── install.sh # Arch, Manjaro, EndeavourOS, ArcoLinux, Garuda
├── redhat/
│ └── install.sh # Fedora, CentOS, RHEL, Rocky, AlmaLinux, OpenSUSE
├── gentoo/
│ └── install.sh # Gentoo Linux
├── alpine/
│ └── install.sh # Alpine Linux
├── void/
│ └── install.sh # Void Linux
└── nixos/
└── install.sh # NixOS
- Ubuntu (toutes versions)
- Debian (stable, testing, unstable)
- Linux Mint
- Elementary OS
- Pop!_OS
- Kali Linux
- Parrot Security OS
- Arch Linux
- Manjaro
- EndeavourOS
- ArcoLinux
- Garuda Linux
- Artix Linux
- Fedora
- CentOS
- Red Hat Enterprise Linux (RHEL)
- Rocky Linux
- AlmaLinux
- OpenSUSE
- Gentoo Linux - Compilation depuis les sources
- Alpine Linux - Distribution légère basée sur musl
- Void Linux - Rolling release avec runit
- NixOS - Configuration déclarative
# Cloner le repository
git clone https://github.com/N0tFond/Script.git
cd Script
# Rendre le script exécutable
chmod +x install.sh
# Lancer l'installation (le script détecte automatiquement votre distribution)
./install.shSi vous voulez forcer une distribution spécifique :
# Pour Ubuntu/Debian
./distributions/debian/install.sh ubuntu
# Pour Arch Linux
./distributions/arch/install.sh arch
# Pour Fedora
./distributions/redhat/install.sh fedora- Outils système : git, curl, wget, htop, tree, unzip
- Shell : zsh avec Oh My Zsh
- Informations système : neofetch
- Node.js via NVM (version 22)
- Python 3 avec pip
- Compilateurs : gcc, make, build-essential
- Git avec configuration interactive
- Éditeur : Visual Studio Code
- Navigateurs : Firefox, Chrome
- Média : VLC, Spotify
- Communication : Discord
- Productivité : LibreOffice
- Graphisme : GIMP
- Flatpak avec Flathub
- Snap (Ubuntu)
- AUR helpers (Arch - yay)
- Configuration des dépôts officiels et tiers
- Support PPA et dépôts externes
- Installation via APT, Flatpak et Snap
- Configuration Pacman optimisée
- Installation AUR helper (yay)
- Gestion des services avec systemd
- Nettoyage automatique des paquets orphelins
- Configuration RPM Fusion
- Gestion des référentiels EPEL
- Support SELinux
- Configuration firewalld
- Optimisation Portage (MAKEOPTS, USE flags)
- Gestion des overlays avec Layman
- Services OpenRC
- Compilation parallèle optimisée
- Compatibilité glibc pour applications
- Gestion légère des paquets
- Services OpenRC
- Optimisations musl libc
- Configuration XBPS optimisée
- Services runit
- Dépôts multilib et non-free
- Gestion cache intelligente
- Configuration déclarative
- Home-manager setup
- Flakes support
- Garbage collection automatique
Le script propose plusieurs niveaux de personnalisation :
- Sélection des catégories de paquets
- Choix des applications individuelles
- Configuration des services système
- Optimisations spécifiques à la distribution
- Variables d'environnement pré-définies
- Scripts de configuration par défaut
- Nettoyage automatique post-installation
- Fichier de log :
installation.logdans le répertoire du script - Codes de couleur pour une meilleure lisibilité
- Gestion d'erreurs complète avec rollback
- Progress bars pour les opérations longues
- Vérification des privilèges : Le script refuse de s'exécuter en root
- Validation des entrées utilisateur
- Vérification des signatures des dépôts
- Backup automatique des configurations système
- Connexion internet active
- Privilèges sudo pour l'utilisateur
- Bash 4.0+ minimum
- Distribution Linux supportée
Les contributions sont les bienvenues ! Voici comment contribuer :
- Fork le projet
- Créer une branche feature (
git checkout -b feature/nouvelle-distribution) - Commit vos changements (
git commit -m 'Ajout support pour XYZ') - Push vers la branche (
git push origin feature/nouvelle-distribution) - Créer une Pull Request
- Créer un dossier dans
distributions/nom-famille/ - Créer un script
install.shbasé sur les templates existants - Ajouter la détection dans le script principal
- Tester sur la distribution cible
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
NotFond
- GitHub : @N0tFond
- Version : 2.0
- Date : Septembre 2024
- ✨ Refactorisation complète avec architecture modulaire
- 🚀 Support de 7 familles de distributions Linux
- 📊 Interface utilisateur améliorée avec progress bars
- 🔧 Configuration optimisée par distribution
- 📝 Logging avancé et gestion d'erreurs
- 🧹 Nettoyage automatique intelligent
- 🎯 Installation modulaire et interactive
- 🎉 Version initiale pour Arch et Debian
- 📦 Installation de base avec quelques applications
- 🐚 Configuration ZSH basique
- Testez toujours sur une machine virtuelle avant utilisation en production
- Sauvegardez vos données importantes avant installation
- Lisez les logs en cas d'erreur pour diagnostiquer les problèmes
- Vérifiez la compatibilité avec votre version spécifique de distribution
En cas de problème :
- Consultez le fichier
installation.log - Vérifiez les issues GitHub existantes
- Créez une nouvelle issue avec le log d'erreur
- Spécifiez votre distribution et version exacte
⭐ N'hésitez pas à star le projet si il vous a été utile !