Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/mattmezza/pacco

📦 pacco helps me manage my dotfiles plugins
https://github.com/mattmezza/pacco

bash dotfiles package-manager plugin script utilities

Last synced: about 1 month ago
JSON representation

📦 pacco helps me manage my dotfiles plugins

Awesome Lists containing this project

README

        

pacco
===

`pacco` is a utility to allow you to quickly install or uninstall plugins with custom alias or functions.

![](pacco.gif)

It works with a simple plain text file `pacco.txt` that lists the wanted packages in this format:
```
jump [email protected]:mattmezza/jump.git 1.0.0
sp [email protected]:mattmezza/sp.git 0.1.0
spot https://github.com/rauchg/spot.git 0.2.0

```
You can override the name of the used file by setting an env variable `PACCO_FILE="your-pacco.txt"`.

When run, `pacco` will install the packages in a default directory `pacchi` (you can override this location via the env var `PACCO_DIR`).

Installation
===

`source <(curl -s https://raw.githubusercontent.com/mattmezza/pacco/1.0.0/pacco.sh) && pacco i pacco https://github.com/mattmezza/pacco.git 1.0.0`

Installing `pacco` is very easy: just source the `pacco.sh` in this repo. Here's how I do it in my [dotfiles](https://github.com/mattmezza/dotfiles).

Usage
===

What follows is the output of `pacco -h`, accessible at any time.

```
Usage:
pacco [OPT] CMD ARGS

CMD:
l|list
i|install
u|uninstall
s|source
I|ia|inatall-all
U|ua|uninstall-all
S|sa|source-all

OPT:
-f|--file
-d|--dir
-h|--help
-v|--version

Examples:
$ pacco list # lists all pkgs
$ pacco i name git-url tag # installs pkg 'name' @tag via 'url'
$ pacco u name # uninstalls pkg 'name'
$ pacco s name # sources pkg 'name'
$ pacco I # installs all pkgs
$ pacco U # uninstalls all pkgs
$ pacco S # sources all the pkgs
$ pacco -v # prints the pacco version
$ pacco -h # prints this message
$ pacco -d # prints the pacco dir
$ pacco -f # prints the pacco file
```

Development
===

Developing `pacco` is quite easy. Clone the repo and start editing the `pacco.sh` file. You can always source your verions and test it in your shell.