UniPak (Universal Package Manager) simplifies managing software on APT-based Linux distributions. It provides a unified, number-based interface for apt, snap, and flatpak, allowing you to install, update, and remove packages without needing to memorize different commands for each!
- ✨ Features
- 🤔 Why UniPak?
- 🖼️ Screenshot
- 🎯 Target Audience & System
- 🧩 Supported Package Managers
- 📋 Prerequisites
- 🚀 Installation
- 🛠️ Usage
- 🤝 Contributing
- 📜 License
- Unified Interface: Interact with
apt,snap, andflatpakthrough a single, consistent command-line tool. - Number-Based Selection: No need to remember specific flags or syntax; just choose options from a numbered list.
- Simplified Workflow: Streamlines common package management tasks (install, update, remove, search) across supported managers.
- Beginner-Friendly: Designed to lower the barrier to entry for managing key package types on APT-based systems.
On APT-based systems like Ubuntu or Debian, users often encounter apt for system packages, but also snap and flatpak for broader application availability. Remembering the distinct commands for each (apt install, snap install, flatpak install, etc.) can be cumbersome. UniPak abstracts this complexity, allowing you to manage software from these three important sources using a simple numerical menu.
- Operating System: Designed exclusively for APT-based Linux distributions (e.g., Ubuntu, Debian, Linux Mint, and their derivatives).
- Users: Ideal for users who want a simplified way to manage
apt,snap, andflatpakpackages without juggling multiple command syntaxes.
UniPak currently simplifies interaction with the following package managers on APT-based systems:
- APT (Advanced Package Tool)
- Snap
- Flatpak
Before installing UniPak, ensure you have the following:
- An APT-based Linux distribution (e.g., Ubuntu, Debian, Linux Mint). This is essential.
- The
apt,snapd(for Snap support), andflatpakcommand-line tools installed and functional on your system. UniPak relies on these underlying managers. - Python 3.7+ installed.
- pip (Python package installer).
- PyInstaller: Required by the
UniPak_Installer.pyscript.- You can install PyInstaller using pip:
pip install pyinstaller
- You can install PyInstaller using pip:
Follow these steps to get UniPak up and running:
-
Get the UniPak Files:
-
Option A: Download Latest Release (Recommended for most users)
- Go to the UniPak Releases page.
- Under the latest release, download the
Source code (zip)orSource code (tar.gz)file from the "Assets" section. - Extract the downloaded archive to a location on your computer.
- Navigate into the extracted directory. The directory name will likely be
UniPak-<version_number>(e.g.,UniPak-1.0.0).# Example after extracting UniPak-1.0.0.zip: # cd UniPak-1.0.0
-
Option B: Clone the Repository (For developers or to get the very latest changes) This will give you the most up-to-date code, which might include unreleased features or bug fixes.
git clone https://github.com/KPR-MAN/UniPak.git cd UniPak
-
-
Run the Installer Script: Once you are inside the UniPak project directory (either from the extracted release or the cloned repository), execute the
UniPak_Installer.pyscript:python3 UniPak_Installer.py
Please wait for the installation process to complete.
-
Done! UniPak should now be installed. You can typically open UniPak from your system's applications menu or by a command if the installer adds it to your PATH.
- Launch UniPak (e.g., from your applications menu).
- You'll be presented with a menu of package managers (
apt,snap,flatpak). Select one using its number. - Follow the subsequent on-screen numerical prompts to:
- Search for packages.
- Install new packages.
- Update existing packages.
- Remove installed packages.
- Perform other available actions for the selected manager.
Contributions are welcome! If you have ideas for improvements, new features, or bug fixes, please feel free to:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourAmazingFeature). - Make your changes.
- Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/YourAmazingFeature). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
