• Stars
    star
    681
  • Rank 66,346 (Top 2 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 6 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

One package manager to rule them all

sysget

Build Status

A front-end for every package manager

sysget is a bridge that lets you use one syntax to every package manager on every unix-based operating system.
You probably all know the problem when you are on a new distro and don't know anything about the package manager. With sysget you just need to remember one syntax for every package manager.
The syntax is mostly same with apt so it should be easy to use.

Supported package managers:

  • apt
  • xbps
  • dnf
  • yum
  • zypper
  • eopkg
  • pacman
  • emerge
  • pkg
  • pkg_mgr
  • chromebrew
  • homebrew
  • nix
  • snap
  • npm
  • flatpak
  • slapt-get
  • pip3
  • GNU guix
  • Ruby gems
  • MacPorts
  • Your own package manager (See Add your own package manager)

Features

  • search for packages
  • install packages
  • remove packages
  • remove orphans
  • clear package manager cache
  • update database
  • upgrade system
  • upgrade single package

How to install

Please take a look at the docs/ folder.
In a nutshell:
make && sudo make install
No dependencies needed

Example

To search for a package

sysget search <search query>

To install a package

sysget install <package name>

To remove a package

sysget remove <package name>

To update the database

sysget update

To upgrade the system

sysget upgrade

To upgrade a specific package

sysget upgrade <package name>

To remove orphans

sysget autoremove

To clean the cache of the package manager

sysget clean

Environment Variables

Environment Variable Function
SYSGET_CONFIG_PATH Ability to change the path of the sysget config file
SYSGET_CUSTOM_PATH Ability to change the path of the file for a custom package manager
SYSGET_ARGS_PATH Ability to change the path of the for custom arguments

Configuration files

The file where the package manager is stored is located at /etc/sysget/sysget
The optional file where a custom package manager is stored at /etc/sysget/custom

Add your own package manager

sysget also has the ability that you can add your own package manager.
Simply create the file /etc/sysget_custom and then write 8 lines into it.
One line for one command.
The order is: search, install, remove, autoremove, update, upgrade, upgrade_pkg, clean

Change the sysget syntax

Similar to adding your own package manager you can also modify the syntax of sysget. For example you can give sysget the pacman syntax
Simply create the file /etc/sysget/args and add 10 lines to it. The order is: search, install, remove, autoremove, update, upgrade, clean, set, help, about
However there are some rules:

  • The file needs to have 10 lines
  • The same item twice is forbidden

Languages

We support the following languages:

  • English
  • German The data is get using $LANG, english is the fallback option
Credits

TermGet JSON