Struggling to install software from GitHub on your Linux, BSD, or macOS system? It’s a headache we’ve all faced. Navigating through GitHub release pages, hunting for the right binary file for your specific distribution and architecture, downloading, extracting, and finally installing—it’s a process that can feel unnecessarily complicated. But what if there was a tool to simplify this? Enter Eget, a utility designed to streamline the installation of pre-built binaries, making your life easier. But here’s where it gets controversial: while Eget is incredibly handy, it’s not a one-size-fits-all solution—it only works with tools that provide pre-built binaries, and it’s best suited for simple, static installations. So, is it the ultimate fix, or just a niche helper? Let’s dive in.
Eget automates the tedious process of finding, downloading, and extracting binaries from GitHub repositories. Once it does its job, all you need to do is use sudo to move the executable to a directory in your $PATH, and you’re good to go. For example, if you want to install Cmatrix, a fun tool that replicates the iconic 'Matrix' falling code effect, you’d simply run:
bash
eget abishekvashok/cmatrix
sudo mv cmatrix /usr/local/bin
And just like that, you’re ready to enjoy the digital rain. And this is the part most people miss: Eget isn’t just for end users—it’s a game-changer for developers who provide pre-built binaries. Instead of overwhelming users with complex installation instructions, developers can simply recommend Eget, ensuring a smooth experience across different systems.
Eget’s Features and Limitations
Eget shines in its simplicity, but it’s not without its quirks. It works flawlessly most of the time, but occasionally, it might fail to locate binaries—like when I tried installing the Kew terminal music player. Still, its utility far outweighs these rare hiccups. Here’s a breakdown of its key features:
- Direct Installation: Move downloaded binaries to a specific directory automatically with
eget --to=[needed location] [project repo]. - Version Control: Install a specific version using
eget --tag=[version number] [project repo]. - Pre-Releases: Access cutting-edge software with
eget --pre-release [project repo]. - Download Only: Skip extraction with
eget --download-only [project repo]. - Batch Installation: Install multiple tools from a list of repositories using
eget --download-all [file name]. - Upgrade Only: Update a program only if a newer version is available with
eget --upgrade-only [project repo].
Configuration Made Easy
Eget’s configurability is where it truly stands out. You can edit the .eget.toml file to set global or repository-specific options. For instance, you can default the installation directory to /usr/local/bin or enable hash verification for specific repositories. Here’s a sample configuration:
```toml
[global]
upgrade_only = true
target = "/usr/local/bin"
["abishekvashok/cmatrix"]
verifysha256 = true
downloadsource = true
```
How to Get Eget
Ironically, you can’t use Eget to install Eget itself. Instead, you’ll need to rely on curl:
bash
curl https://zyedidia.github.io/eget.sh | sh
sudo mv eget /usr/local/bin
Final Thoughts
Eget is a powerful tool for simplifying binary installations, especially for developers and users of less mainstream distributions. However, it’s not a universal solution—it’s best for static binaries and may not work for every project. So, here’s the question: Is Eget a must-have in your toolkit, or just a handy addition? Does it solve a problem for you, or do you prefer traditional methods? Let’s spark some debate—share your thoughts in the comments below!