chshersh / tool-sync

🧰 Download pre-built binaries of all your favourite tools with a single command
https://crates.io/crates/tool-sync
Mozilla Public License 2.0
72 stars 17 forks source link

Consider install tools with Cargo #58

Closed gillchristian closed 2 years ago

gillchristian commented 2 years ago

This tool is awesome! Thanks for doing it! :bow:

Would you consider support for installing tools with Cargo instead of the binaries?

I know this opens a can of worms, because now every other package manager should be supported as well. In that case maybe it could be some sort of plugin/configuration that tells tool-sync how to install a particular tool with a package manager.

I'd be willing to contribute such change as I install most of my tools with their corresponding package manager.

chshersh commented 2 years ago

Thanks for your kind words 🤗

I learned recently about cargo-binstall. Does it satisfy your need? It looks like the tool authors also have plans to support the installation directly from GitHub releases:

I have a separate issue to add a more detailed comparison with cargo-binstall.

But at this point, the main goal of tool-sync is to download binaries from GitHub releases. The main reason for this is the fact that tool-sync supports not only Rust tools (while cargo-binstall focuses on Rust tools solely) and managing build tools for every language will be difficult 🥴

gillchristian commented 2 years ago

I don't think cargo-binstall would work for me, I basically install tools from source with Cargo (eg. cargo install tool-sync) or with any other package manager the tool is distributed with (be it stack, yarn, etc)

managing build tools for every language will be difficult

My thought was that how the build tool works could be configured in the docs and expect the user to have it installed (or be part of the config). But I agree it it would be going in a different direction.

chshersh commented 2 years ago

@gillchristian I just learned about Clyde. It looks closer to what you're asking so maybe you can have a look whether it does what you want:

gillchristian commented 2 years ago

Ohh interesting, it looks promising. Thanks for sharing!