Skip to content

N0tFond/Script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

35 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Universal Linux Installer

A universal and optimized installation script for Linux distributions, supporting a wide range of distribution families with automatic detection.

Version en franΓ§ais dans LISEZMOI.md

✨ Features

  • πŸ” Automatic detection of Linux distribution
  • πŸ“¦ Multi-distribution support with specialized scripts
  • 🎯 Modular installation with interactive package selection
  • πŸ› οΈ Optimized configuration for each package manager
  • πŸ“Š Progress bars and detailed logging
  • πŸ”§ Complete development environment
  • 🐚 ZSH configuration with Oh My Zsh
  • πŸ“ Complete logging for debugging
  • 🧹 Automatic system cleanup

πŸ—οΈ Project Structure

β”œβ”€β”€ install.sh                    # Main script with auto detection
β”œβ”€β”€ common/
β”‚   └── functions.sh              # Shared common functions
└── distributions/
    β”œβ”€β”€ debian/
    β”‚   └── install.sh           # Ubuntu, Debian, Mint, Elementary, Pop!_OS, Kali
    β”œβ”€β”€ arch/
    β”‚   └── install.sh           # Arch, Manjaro, EndeavourOS, ArcoLinux, Garuda
    β”œβ”€β”€ redhat/
    β”‚   └── install.sh           # Fedora, Nobara, CentOS, RHEL, Rocky, AlmaLinux, OpenSUSE
    β”œβ”€β”€ gentoo/
    β”‚   └── install.sh           # Gentoo Linux
    β”œβ”€β”€ alpine/
    β”‚   └── install.sh           # Alpine Linux
    β”œβ”€β”€ void/
    β”‚   └── install.sh           # Void Linux
    └── nixos/
        └── install.sh           # NixOS

🐧 Supported Distributions

Debian Family

  • Ubuntu (all versions)
  • Debian (stable, testing, unstable)
  • Linux Mint
  • Elementary OS
  • Pop!_OS
  • Kali Linux
  • Parrot Security OS

Arch Family

  • Arch Linux
  • Manjaro
  • EndeavourOS
  • ArcoLinux
  • Garuda Linux
  • Artix Linux

Red Hat Family

  • Fedora
  • Nobara Linux
  • CentOS
  • Red Hat Enterprise Linux (RHEL)
  • Rocky Linux
  • AlmaLinux
  • OpenSUSE

Other Distributions

  • Gentoo Linux - Source-based compilation
  • Alpine Linux - Lightweight musl-based distribution
  • Void Linux - Rolling release with runit
  • NixOS - Declarative configuration

πŸš€ Quick Installation

Simple Usage

# Clone the repository
git clone https://github.com/N0tFond/Script.git
cd Script

# Make the script executable
chmod +x install.sh

# Run the installation (script automatically detects your distribution)
./install.sh

Specific Installation

If you want to force a specific distribution:

# For Ubuntu/Debian
./distributions/debian/install.sh ubuntu

# For Arch Linux
./distributions/arch/install.sh arch

# For Fedora
./distributions/redhat/install.sh fedora

⚠️ Critical Warnings

Important

Distribution not detected: If the script fails to identify your Linux distribution, the installation will terminate immediately with an error code.

οΏ½ Detection Problem Resolution

Warning

Automatic detection failure can occur on custom or very recent distributions.

Recommended solutions:

  1. Compatibility verification

    # Check your distribution
    cat /etc/os-release
  2. Forced installation for compatible distributions

    # Debian-based distribution (Ubuntu, Mint, Elementary, etc.)
    ./distributions/debian/install.sh ubuntu
    
    # Arch-based distribution (Manjaro, EndeavourOS, etc.)
    ./distributions/arch/install.sh arch
    
    # Red Hat-based distribution (Fedora, CentOS, etc.)
    ./distributions/redhat/install.sh fedora
  3. Technical support

Note

Create a GitHub issue with the following information:

  • Output of cat /etc/os-release
  • Kernel version (uname -r)
  • Complete error messages

πŸ›‘οΈ Security Recommendations

Caution

Mandatory testing: Always test on a virtual machine before production deployment.

  • Complete backup of critical data
  • System restore point if available
  • Sudo privileges verification before execution
  • Stable internet connection required during installation

Tip

Debug mode: Add bash -x for detailed diagnostics

bash -x ./install.sh

πŸ“¦ Installed Packages

Base Packages

  • System tools: git, curl, wget, htop, tree, unzip
  • Shell: zsh with Oh My Zsh
  • System information: neofetch

Development Tools

  • Node.js via NVM (version 22)
  • Python 3 with pip
  • Compilers: gcc, make, build-essential
  • Git with interactive configuration

Applications

  • Editor: Visual Studio Code
  • Browsers: Firefox, Chrome
  • Media: VLC
  • Communication: Discord
  • Productivity: LibreOffice
  • Graphics: GIMP

Alternative Package Managers

  • Flatpak with Flathub
  • Snap (Ubuntu)
  • AUR helpers (Arch - yay)

πŸ”§ Features by Distribution

Debian/Ubuntu

  • Official and third-party repository configuration
  • PPA and external repository support
  • Installation via APT, Flatpak and Snap

Arch Linux

  • Optimized Pacman configuration
  • AUR helper installation (yay)
  • Service management with systemd
  • Automatic cleanup of orphaned packages

Fedora/RHEL

  • RPM Fusion configuration
  • EPEL repository management
  • SELinux support
  • Firewalld configuration

Gentoo

  • Portage optimization (MAKEOPTS, USE flags)
  • Overlay management with Layman
  • OpenRC services
  • Optimized parallel compilation

Alpine

  • Glibc compatibility for applications
  • Lightweight package management
  • OpenRC services
  • Musl libc optimizations

Void Linux

  • Optimized XBPS configuration
  • Runit services
  • Multilib and non-free repositories
  • Intelligent cache management

NixOS

  • Declarative configuration
  • Home-manager setup
  • Flakes support
  • Automatic garbage collection

βš™οΈ Configuration Options

The script offers several levels of customization:

Interactive Installation

  • Package category selection
  • Individual application choices
  • System service configuration
  • Distribution-specific optimizations

Automated Configuration

  • Pre-defined environment variables
  • Default configuration scripts
  • Automatic post-installation cleanup

πŸ“ Logging and Debugging

  • Log file: installation.log in the script directory
  • Color codes for better readability
  • Complete error handling with rollback
  • Progress bars for long operations

πŸ›‘οΈ Security

  • Privilege verification: The script refuses to run as root
  • User input validation
  • Repository signature verification
  • Automatic backup of system configurations

🚨 Prerequisites

  • Active internet connection
  • Sudo privileges for the user
  • Bash 4.0+ minimum
  • Supported Linux distribution

🀝 Contributing

Contributions are welcome! Here's how to contribute:

  1. Fork the project
  2. Create a feature branch (git checkout -b feature/new-distribution)
  3. Commit your changes (git commit -m 'Add support for XYZ')
  4. Push to the branch (git push origin feature/new-distribution)
  5. Create a Pull Request

Adding a New Distribution

  1. Create a folder in distributions/family-name/
  2. Create an install.sh script based on existing templates
  3. Add detection in the main script
  4. Test on the target distribution

πŸ“„ License

This project is licensed under MIT. See the LICENSE file for more details.

Author

@notfound


πŸ”„ Changelog

Version 3.0 (October 2025)

  • πŸ”’ Complete security audit with detailed report and enhanced configuration
  • πŸ›‘οΈ Security scripts: security-audit.sh for automated system checks
  • πŸ“‹ Improved detection tests with test-detection.sh for multi-distribution validation
  • πŸ”„ Migration script migrate.sh for smooth version updates
  • πŸ“š Multilingual documentation with English README (EN_README.md)
  • πŸ”§ Centralized security configuration via security.conf
  • πŸ§ͺ Automated testing to ensure cross-distribution compatibility
  • πŸ” Vulnerability detection and security recommendations
  • πŸ“Š Performance metrics and installation monitoring
  • πŸ› οΈ Optimized common functions in common/functions.sh

Version 2.0 (September 2024)

  • ✨ Complete refactoring with modular architecture
  • πŸš€ Support for 7 Linux distribution families
  • πŸ“Š Improved user interface with progress bars
  • πŸ”§ Optimized configuration per distribution
  • πŸ“ Advanced logging and error handling
  • 🧹 Intelligent automatic cleanup
  • 🎯 Modular and interactive installation

Version 1.0 (May 2024)

  • πŸŽ‰ Initial version for Arch and Debian
  • πŸ“¦ Basic installation with some applications
  • 🐚 Basic ZSH configuration

⚠️ Warnings

  • Always test on a virtual machine before production use
  • Backup your important data before installation
  • Read logs in case of errors to diagnose problems
  • Verify compatibility with your specific distribution version

πŸ†˜ Support

In case of problems:

  1. Check the installation.log file
  2. Review existing GitHub issues
  3. Create a new issue with the error log
  4. Specify your exact distribution and version

⭐ Don't hesitate to star the project if it was useful to you!