# Packages
# README
gox
gox
is a tool to manage binary golang packages.
Features
- 📦️ Compile and manage binary packages easily
- 🔥 Single static binary, no dependencies
- ⚡️ Blazingly fast
- 🧹 Doesn't polluting your home directory or
GOPATH
Inspiration
Whenever you install a golang binary package (lazygit/lazydocker/gh/micro
etc), it installs all it's dependencies into GOPATH
.
It installs the binary into GOBIN
which should be included in your PATH
variable.
When you want to update a package, you are requied to run the command again but do you remember the repository url ?
When you want to remove it, you can remove the binary with a simple rm
command, but what about the dependencies ?
Analogous to pipx
and npx
, gox
installs the binary in isolation and symlinks it into ~/.local/bin
.
You can remove it easily and the dependencies were never in your way!
Also, it can manage your personal projects, so you can easily install and update binaries while development.
Functionality
Install
- Compiles the binary in a isolated environment
- Automatically installs it in the
~/.local/bin
directory. - Provide
.
as a argument to install the project you are inside! - Or provide a path on your system to manage the binary of your projects.
Remove
- Removes the package instantly.
- Any dependencies were never installed, so easy cleanup.
Update
- Updates any given package from it's source.
List
- Lists all the installed commands along with their installed location.
Installation
Getting Help
You can invoke gox help
for help about anything.
For more information about any subcommand run gox help [subcommand]
.
Tools
There are plenty of tools that are best enjoyed with gox
. gox
makes the installation and management of these tools a breeze.
- gopls (The Golang Language Server)
gox install golang.org/x/tools/gopls@latest
- lazygit (TUI interface for git)
gox install github.com/jesseduffield/lazygit@latest
- lazydocker (TUI interface for docker)
gox install github.com/jesseduffield/lazydocker@latest
- circumflex (TUI interface for hackernews)
gox install https://github.com/bensadeh/circumflex
Shameless Plug!
- qemantra (CLI interface to QEMU)
gox install github.com/pspiagicw/qemantra@latest
- groom (Build tool written in Golang)
gox install github.com/pspiagicw/groom@latest
These are just examples to present the case of why this tool might be useful in your workflow.
Contributing
You are more than welcome to raise issues and PR in the repository