project_root := justfile_directory() bin_script_dir := project_root + "/Scripts/bin" # List the repo-managed binary names, or available releases for one tool. [default] list tool='': if [ -n '{{tool}}' ]; then \ bash '{{bin_script_dir}}/update.sh' --list '{{tool}}'; \ else \ jq -r 'keys[]' '{{project_root}}/Bins/versions.json'; \ fi # List available releases for a supported binary. releases tool: bash '{{bin_script_dir}}/update.sh' --list '{{tool}}' # Install all pinned repo-managed binaries into ~/.local/bin. install-all: bash '{{bin_script_dir}}/install.sh' --all # Install one pinned repo-managed binary into ~/.local/bin. install tool: bash '{{bin_script_dir}}/install.sh' '{{tool}}' # Update the pinned version for a binary. If no version is given, open an fzf selector when available. update tool version='': bash '{{bin_script_dir}}/update.sh' '{{tool}}' '{{version}}' # Print the currently pinned versions. show: cat '{{project_root}}/Bins/versions.json'