Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uni-linux/uni

:rocket: A universal and optimized interface for handle package managers, UNI recipes and automating tasks on them in Linux distributions.
https://github.com/uni-linux/uni

abstraction apt automation dnf fedora handler interface linux linux-distribution management package-manager recipe ubuntu uni uni-recipes universal

Last synced: about 1 month ago
JSON representation

:rocket: A universal and optimized interface for handle package managers, UNI recipes and automating tasks on them in Linux distributions.

Awesome Lists containing this project

README

        


UNI logo

Do More, Write less



A universal and optimized interface for handle package managers, UNI recipes and automating tasks on them in Linux distributions.


fund issues on issuehunt


become a patron or sponsor


donate on paypal


version


get-recipes


current support


license


> UNI is an abstraction layer that allows you to manage different package managers or UNI Recipes using the same UNI commands regardless of the distribution you are using and automates repetitive tasks on them.


# Table of Contents

- [Goal](#goal)
- [How it Works?](#how-it-works)
- [Example](#example)
- [Using Recipes](#using-recipes)
- [Example](#example-1)
- [Installation](#installation)
- [Uninstallation](#uninstallation)
- [Documentation](#documentation)
- [Contributing](#contributing)

# Goal

Make an easy interface to abstract repetitive commands related to package management. Join tasks that require the execution of others without spending time typing one by one. Make it easy to work between different distributions by always using the same UNI commands regardless of the distribution you are using.

# How it Works?

UNI uses your main package manager to do the things and abstracts the original commands through a simple and universal UNI interface.

## Example

| Command | Alias | Description |
| --- | --- | --- |
| `uni upgrade` | `uni up` | Upgrades deeply the system and remove useless dependencies. |

This will trigger the following commands on **Ubuntu**:
```shell
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
```
This will trigger the following commands on **Fedora**:
```shell
sudo dnf upgrade -y
sudo dnf autoremove -y
```

Using Recipes



uni bake gif

Now you can use available recipes too or create your owns and publish it [here](https://github.com/uni-linux/recipes). Recipes are bash scripts to do anything. Be it to install programs and resolve dependencies or fix system problems. Anything you want and can do with bash scripts.

## Example

| Command | Alias | Description |
| --- | --- | --- |
| `uni bake atom-install` | `uni b atom-install` | Installs the latest version of
Atom Editor from their
official website and resolve
dependency issues. |

[Check here the list of available recipes for usage.](https://github.com/uni-linux/recipes)
You can also type `uni --recipes` to fetch the current list of recipes from GitHub and display in your terminal.

# Installation

**Ubuntu** and based distributions:
```shell
wget -O upm https://git.io/v1UKq && chmod +x upm && ./upm && rm upm
```
**Fedora** ( supports only dnf for now ):
```shell
wget -O upm https://git.io/v1UKO && chmod +x upm && ./upm && rm upm
```
# Uninstallation

| Command | Alias | Description |
| --- | --- | --- |
| `uni remove-me` | `uni rm-me` | Removes uni |

# Documentation

- [English](https://github.com/daltonmenezes/uni/blob/master/docs/en/API.md)
- Português (Em breve)

# Contributing

I've created a 'recompiler' tool to help us to test locally using uni command on terminal normally during the development.

[So, let's check the contributing guide here](https://github.com/daltonmenezes/uni/blob/master/docs/en/CONTRIBUTING.md).