Install packages/binaries from a file containing a list of packages with pinned versioning (e.g. `bin ls > binfile`, then `bin i ./binfile`
kforeverisback opened this issue · 2 comments
First let me say, I really enjoyed using bin
for managing all my static binary releases!
I was using eget
, then moved on to stew
, then finally settled on your bin
tool.
One of the things I liked about stew was its support for Stewfile
(its just stew ls > Stewfile
, see https://github.com/marwanhawari/stew?tab=readme-ov-file#list), which you can put in your source control, and from this file you can install all necessary tools (with pinned versioning) in another machine!
Not sure if bin
has similar features, but I'd love bin
to have this feature.
I can also contribute if I get some helps from the community :)
First let me say, I really enjoyed using
bin
for managing all my static binary releases!
hey! that's great to know. It's awesome that you're finding bin
useful like other users.
Not sure if
bin
has similar features, but I'd lovebin
to have this feature.
yes, bin has something similar as well. If you take your bin
config file (generally located at XDG_CONFIG_HOME/bin
, move it to a different server and then run bin ensure
, that'd synchronize all your missing tools.
Hope this helps!
Marcos.
Thanks @marcosnils! That somewhat works!
Only thing is that bin config file stores the full path under default_path
as well as per item.
{
"default_path": "/home/kushal/.local/bin", ## <-- Full path to default bin path
"bins": {
"/home/kushal/.local/bin/bat": { ## <-- Full path as key name
"path": "/home/kushal/.local/bin/bat", ## <-- Full path again here
"remote_name": "bat",
"version": "v0.24.0",
"hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"url": "https://github.com/sharkdp/bat",
"provider": "github",
"package_path": "bat-v0.24.0-x86_64-unknown-linux-gnu/bat"
},
...
}
}
A different server might have different username and path.
After your comment, I actually created a script which takes care of this (modify the config paths before installing, simple bash
and jq
based).
Still, I believe a separate cmd (or different config structure for export to source control) in bin
might be useful for users to create a reproducible environment (where same binaries are installed) in another server or maybe even share with their friends/colleagues.
Awesome tool, even awesome-er(!) work! Thanks @marcosnils!