reaver
A tool that allows to download and track the latest version of stuff on the net.
Define your collections in .yml and launch Reaver to retrieve everything and
move things to the right spot.
Dependencies
Reaver need only unzip
, xz
, tar
and git
, depending what you'll use.
Collections
Reaver search collections by order in:
$XDG_CONFIG_HOME/reaver
$HOME/.config/reaver
Create many collection of things
For example, your need to use Vim, vim require a lots of external plugins to be more efficient, so create a collection called vim.yml
.
$ $EDITOR ~/.config/reaver/vim.yml
In the file, we add all archives required by u projects
---
things:
- name: ombre.tar.gz
url: https://github.com/szorfein/ombre.vim/archive/refs/heads/main.tar.gz
- name: ale.tar.gz
url: https://github.com/dense-analysis/ale/archive/refs/heads/master.tar.gz
- name: indentline.tar.gz
url: https://github.com/Yggdroot/indentLine/archive/refs/heads/master.tar.gz
- name: nerdtree.tar.gz
url: https://github.com/preservim/nerdtree/archive/refs/heads/master.tar.gz
time: 86000
all_into_dir: .config/pack/myvimpluggins/start
keep_name: true
To see more examples, go
here
A collection can include:
all_into_dir: <dirname>
if all files go in a directory. Directory is created
if not exist.keep_name: <boolean>
, if true
, create a directory with the name of the thing, e.g, for a name ombre.tar.gz
, the final dest will be all_into_dir/ombre
or dest_dir/ombre
.force_download: <boolean>
, if you make change and want to download now, change to true
.things[].dest_dir: <dirname>
, if each files go in differents directory, use this.things[].name
the new name after download, may include the file extension.things[].strip_components: <number>
, used on tar
, default to 1, skip the first
directory from an archive, if no subdirectory exist, you should set to 0.things[].url: <string>
things[].git: <boolean>
, If the thing need to be managed with git.time: 86000
(in second) is for search every day ( 60 * 60 * 24 ).
If all_into_dir
is defined, things[].dest_dir
is not used.
All paths given are relative to $HOME
so don't include ~
or any shell
variables.
And start reaver simply with:
$ reaver
Reaver download all files in ~/.cache/reaver
by default.