Usage¶
usage: girsh [-h] [-r BINARY [BINARY ...] | -u | --uninstall-all | --clean | -s | -e] [-c CONFIG] [-d] [-v] [-g] [-V]
Git Install Released Software Helper
options:
-h, --help show this help message and exit
-r BINARY [BINARY ...], --reinstall BINARY [BINARY ...]
Force re-installation even if version unchanged
-u, --uninstall Uninstall previously installed binary if not present in config anymore
--uninstall-all Uninstall all previously installed binaries
--clean Remove the downloads folder and exit
-s, --show Show config and currently installed binaries
-e, --edit Open the config file in the default editor
-c CONFIG, --config CONFIG
Path to config file, defaults to ~/.config/girsh.yaml
-d, --dry-run Run without actually installing or removing any files.
-v, --verbose Increase output verbosity (up to 3 times)
-g, --global Install as root at system level
-V, --version show program's version number and exit
Functions¶
Install or update packages¶
Run the script with your default configuration file:
girsh
This command processes each repository entry in the configuration, downloads the latest release asset (if a new version is available), extracts the asset, renames it (if configured), and installs the binary to the specified bin_base_folder.
Example:
$ girsh
mrjackwills/oxker: skipped
jesseduffield/lazydocker updated from v0.23.0 to v0.24.1
containers/podman-tui installed version v1.4.0
===============================
Summary:
skipped: 1
updated: 1
installed: 1
Show installed programs¶
Example:
$ girsh --show
Currently installed binaries:
+--------------------------+----------------------------------------------+------------+---------+
| Repository | Comment | Binary | Tag |
+--------------------------+----------------------------------------------+------------+---------+
| containers/podman-tui | Go TUI for Podman environment. | podman-tui | v1.4.0 |
| jesseduffield/lazydocker | Go TUI for both docker and docker-compose | lazydocker | v0.24.1 |
| mrjackwills/oxker | Rust tui to view & control docker containers | oxker | v0.10.0 |
+--------------------------+----------------------------------------------+------------+---------+
Use custom config file¶
Run the script with your custom configuration file:
girsh --config my_config.yaml
Force Re-installation¶
To force re-installation of a binary even if the installed version matches the latest release, use the --reinstall option:
girsh --reinstall
Uninstall Installed Binaries¶
If some repository has been removed from the config file and the binary should be removed, use the --uninstall option:
girsh --uninstall
To uninstall all binaries installed by the script (tracked in the installation logs), use the --uninstall-all option:
girsh --uninstall-all
This command will remove all binaries from the target installation folder that are tracked in the installation logs and then clear the installation logs.
Clean Temporary Downloads¶
To remove the downloads folder (used for temporary storage) and exit:
girsh --clean
Script output¶
The script uses Loguru for logging. By default, it logs success messages to stdout. For more detailed output the verbosity can be increase:
girsh -v
The verbosity can be increased up to 3 time, e.g. girsh -vvv for trace logs.
Example Workflow¶
Create your girsh_config.yaml from template.
girsh --edit
The file '/home/user_name/.config/girsh.yaml' does not exist. Do you want to create it? (y/N):y
Run the installer:
girsh
To update binaries when new versions are released, simply re-run the installer.
The script will check the installation logs and only download and install if
there's a version change(unless --reinstall is specified).
If you want to remove all installed binaries:
girsh --uninstall-all
To clean up temporary downloads:
girsh --clean