Awesome
GPM
So you want to make your own package manager?
For something that feels like overkill to create standalone package manager, but is just too lazy to manually check for updates and download.
Installation
cargo install --git https://github.com/8LWXpg/gpm.git
Quick Start
Initialize the package manager
gpm init
Add a new package type
gpm type add <NAME> <EXT> <SHELL>
Change your shell config at ~/.gpm/types.toml
.
[!NOTE]
EXT
is the file extension of the script file.
Edit the script
Script file is created at ~/.gpm/scripts/<NAME>.<EXT>
, see here for more information.
Add a new repository
gpm add <NAME>
For more information see here.
Add a package to the repository
gpm repo <NAME> add <NAME> <TYPE> [ARGS]...
[!IMPORTANT] Package name must be the same as file/folder name in order to work properly.
Make an alias for the repo
alias <NAME>='gpm repo <NAME>'
Features
Download third party cargo subcommand instead of compile locally
- Add a new repository
gpm add cargo --path ~/.cargo/bin
- Download the subcommand
gpm repo cargo add <NAME> <TYPE> [ARGS]...
Port packages
- Remove Tag field under
<repo>/version.toml
withgpm repo <repo> remove-tag
- Add a new repository.
- Copy the
<repo>/version.toml
to the new repository. - Update all packages with
gpm repo <repo> update -a
Documentation
Windows
There's no standard way to pass arguments to executables in Windows, each executable has its own parsing logic. So, if you have issues with passing arguments to certain executables, please open an issue.