Skip to content

gkapelakos/Autopilot-Linux-Script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autopilot Linux Installer

      ______               __                          __  __              __     
     /      \             /  |                        /  |/  |            /  |    
    /$$$$$$  | __    __  _$$ |_     ______    ______  $$/ $$ |  ______   _$$ |_   
    $$ |__$$ |/  |  /  |/ $$   |   /      \  /      \ /  |$$ | /      \ / $$   |  
    $$    $$ |$$ |  $$ |$$$$$$/   /$$$$$$  |/$$$$$$  |$$ |$$ |/$$$$$$  |$$$$$$/   
    $$$$$$$$ |$$ |  $$ |  $$ | __ $$ |  $$ |$$ |  $$ |$$ |$$ |$$ |  $$ |  $$ | __ 
    $$ |  $$ |$$ \__$$ |  $$ |/  |$$ \__$$ |$$ |__$$ |$$ |$$ |$$ \__$$ |  $$ |/  |
    $$ |  $$ |$$    $$/   $$  $$/ $$    $$/ $$    $$/ $$ |$$ |$$    $$/   $$  $$/ 
    $$/   $$/  $$$$$$/     $$$$/   $$$$$$/  $$$$$$$/  $$/ $$/  $$$$$$/     $$$$/  
                                            $$ |                                  
                                            $$ |                                  
                                            $$/                                   

A robust, modular, and distro-agnostic terminal software installer for Linux. Built with modern Bash practices, it provides a professional TUI (Terminal User Interface) with no external dependencies.

License Shell

🌟 Key Improvements in v1.0.0

  • Modular Architecture: Clean separation between UI, logic, package data, and utilities.
  • Robust Package Handling: Detects if software is already installed to prevent redundant work.
  • Presets & Profiles: Quick-select apps for "Dev" or "Minimal" environments with a single keypress.
  • Logging & Debugging: Detailed logs in ./logs/ and a new --debug mode.
  • Dry-Run Mode: Preview what the script would do without touching your system using --dry-run.
  • Self-Update: Easily pull the latest version directly from GitHub using --update.

🚀 Quick Start

The One-Liner (Run with curl)

The easiest way to run Autopilot is directly from GitHub. The script automatically fetches its modules as needed:

curl -fsSL https://raw.githubusercontent.com/gkapelakos/Autopilot-Linux-Script/main/autopilot.sh | bash

Manual Installation (Recommended for regular use)

For better performance and offline access, clone the repository:

  1. Clone the repository:

    git clone https://github.com/gkapelakos/Autopilot-Linux-Script.git
    cd Autopilot-Linux-Script
  2. Run the script:

    ./autopilot.sh

�️ Command Line Options

Option Description
--debug Enable detailed debug output in the terminal.
--dry-run Show installation steps without actually installing anything.
--update Check for and apply updates from the GitHub repository.

🎮 Navigation & Keyboard

Key Action
Arrow Keys Navigate categories (Left/Right) and apps (Up/Down).
Space Toggle selection of an individual app.
P Open the Profiles menu (Minimal/Dev/Full/Clear).
Enter Begin Deployment of all selected items.
Q Quit safely and restore terminal state.

📁 Project Structure

  • autopilot.sh: The main entry point.
  • lib/ui.sh: TUI drawing and input handling.
  • lib/installer.sh: Distro-agnostic installation logic.
  • lib/os_detect.sh: System and package manager detection.
  • lib/profiles.sh: Preset selection logic.
  • lib/utils.sh: Logging, colors, and shared constants.
  • data/packages.sh: Categorized list of supported software.
  • logs/: Directory for timestamped installation logs.

📦 Supported Package Managers

Autopilot automatically detects and uses the native manager for your distro:

  • APT: Ubuntu, Debian, Mint, Pop!_OS
  • DNF: Fedora, RHEL, CentOS
  • Pacman: Arch, Manjaro, EndeavourOS
  • Zypper: OpenSUSE
  • APK: Alpine Linux
  • XBPS: Void Linux
  • Flatpak: Cross-distro support via Flathub

📜 Requirements

  • Bash 4.0+
  • tput (Standard on almost all Linux environments)
  • sudo permissions (Requested only at start of installation)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A distro-agnostic, dependency-free interactive TUI for setting up Linux systems in seconds. Pure Bash

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages