/altb

alternative cli util for update-alternatives

Primary LanguagePython

altb

altb is a cli utility influenced by update-alternatives of ubuntu.
Linked paths are added to $HOME/.local/bin according to XDG Base Directory Specification.
Config file is located at $HOME/.config/altb/config.yaml.

How to start?

Must use Python > 3.9 execute:

pipx install altb

to track new binary use:

altb track path <app_name>@<app_tag> /path/to/binary

for example:

altb track path python@2.7 /bin/python2.7
altb track path python@3.8 /bin/python3.8
# altb track path python ~/Downloads/python # will also work and generate a new hash for it

List all tracked versions:

$ altb list -a
python
|----   2.7 - /bin/python2.7
|----   3.8 - /bin/python3.8

Use specific version:

altb use <app_name>[@<app_tag>]

example:

altb use python@2.7

this will link the tracked path to ~/.local/bin/<app_name> in this case - ~/.local/bin/python

Copy specific standalone binary automatically to ~/.local/share/altb/versions/<app_name>/<app_name>_<tag>

altb track path helm@3 ~/Downloads/helm --copy

You can run custom commands using:

altb track command special_command@latest "echo This is a command"

this especially useful for latest developments, example:

altb track command special_command@latest "go run ./cmd/special_command" --working-directory "$HOME/special_command"

Docs

Migrations