Awesome
<!-- Note: This README.md file was automatically generated. Plase run `make readme` to generate a new one. -->PM-JESUS (A blessed front-end for every package manager*)
<p align="center"> <img width="217" alt="Screenshot 2024-04-27 at 17 09 31" src="https://github.com/sebastiancarlos/pm-jesus/assets/88276600/28fcfb0b-e200-43a8-b72c-58784b8c5b41"> </p>Your own, package manager, Jesus. 🎶
Someone to install your files,
Someone who compiles.
Your own, package manager, Jesus.
Cross-platform and you're all alone,
Flesh and bone by the command-o
TTY receiver,
I'll make you a believer.
*currently Pacman and Homebrew (but my DMs PRs are open!)
Introduction
Jesus told his disciples: “There was a rich man whose manager was accused of wasting his possessions."
- Luke 16:1
Be like that man, and don't let your multiple package manager take all your time! Build your own cross-platform scripts, or use these!
Disclaimer: These scripts are for my personal use, written in a way that makes sense to me. I only open-sourced them as a joke and as an example of how reinventing your own wheel is not that hard sometimes, and comes with the benefit of doing just what you need it to do. For a more complete solution, check sysget or app.
Installation
Grab your favorite shell and get going:
git clone https://github.com/sebastiancarlos/pm-jesus
cd pm-jesus
./pm-install vim
(as you should)
Optionally add to your PATH
. (This can be done by running make install
)
Commandments
Every command comes with its own help message. Just type --help
after the
command to get a detailed explanation of its usage.
The commands are:
pm-search
Usage: pm-search [package]
Search for a package in the list of available packages.
pm-dependencies
Usage: pm-dependencies [package]
List all dependencies of a package.
pm-list-orphans
Usage: pm-list-orphans
List all packages that were installed as a dependency but are no longer required.
pm-list
Usage: pm-list
List all installed packages.
pm-uninstall-package-and-dependencies
Usage: pm-uninstall-package-and-dependencies [package]
Uninstall a package and all its dependencies.
pm-search-local
Usage: pm-search-local [package]
Search for a package in the list of installed packages.
pm-list-explicit
Usage: pm-list-explicit
List all explicitly installed packages.
pm-uninstall-orphans
Usage: pm-uninstall-orphans
Uninstall all packages that were installed as a dependency but are no longer required.
pm-info
Usage: pm-info [package]
Get information about a package.
pm-clean-cache
Usage: pm-clean-cache
Clean the package cache.
pm-who-owns
Usage: pm-who-owns [file]
Return the installed package that owns a file.
pm-install-local
Usage: pm-install-local
Build and install a package not from the system's list of available packages.
Must run in directory containing a PKGBUILD file. Usually from the AUR.
pm-system-update
Usage: pm-system-update
Full system update
pm-who-installs
Usage: pm-who-installs [file]
Return the remote package that installs a file.
pm-uninstall
Usage: pm-uninstall [package]
Uninstall a package.
pm-install
Usage: pm-install [package]...
Install a package from the system's list of available packages.
pm-files
Usage: pm-files [package]
List all files installed by a package.
Known Limitations
Currently, only Pacman and Homebrew are supported. One because I have to work, the other because I'm based. Guess which is which.