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: 10 months ago
JSON representation
📦 pacco helps me manage my dotfiles plugins
- Host: GitHub
- URL: https://github.com/mattmezza/pacco
- Owner: mattmezza
- License: mit
- Created: 2020-04-27T17:17:43.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-27T18:32:45.000Z (almost 6 years ago)
- Last Synced: 2025-02-13T15:36:30.418Z (12 months ago)
- Topics: bash, dotfiles, package-manager, plugin, script, utilities
- Language: Shell
- Homepage:
- Size: 42 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
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.

It works with a simple plain text file `pacco.txt` that lists the wanted packages in this format:
```
jump git@github.com:mattmezza/jump.git 1.0.0
sp git@github.com: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.