Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/mattmezza/pacco
- Owner: mattmezza
- License: mit
- Created: 2020-04-27T17:17:43.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-04-27T18:32:45.000Z (almost 5 years ago)
- Last Synced: 2024-11-02T23:25:22.463Z (3 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.
![](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 ARGSCMD:
l|list
i|install
u|uninstall
s|source
I|ia|inatall-all
U|ua|uninstall-all
S|sa|source-allOPT:
-f|--file
-d|--dir
-h|--help
-v|--versionExamples:
$ 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.