Skip to content
Branch: master
Find file History
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib Create Jan 15, 2019
src remove future comment about VectorContains Apr 14, 2019
.gitignore Update .gitignore Dec 30, 2018
LICENSE.txt Initial commit Oct 5, 2018
makefile General improvements, thank you u/ttmp3 Apr 14, 2019


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-get so it should be easy to use.

Supported package managers:

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


  • 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


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 paackage 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


You can’t perform that action at this time.