refactor: update m4b_tool_bin initialization and enhance argument parsing for backend selection

This commit is contained in:
Philip Henning 2025-09-10 16:59:15 +02:00
parent 20514b8d8e
commit 56c08bc184

View file

@ -4,12 +4,12 @@ set -eufo pipefail
# CONSTANTS
declare -r script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
declare -ra m4b_tool_bin=(nix run github:sandreas/m4b-tool#m4b-tool-libfdk --)
declare -a m4b_tool_bin
# VARS
LEADING_ZEROES=2
SRC="${script_dir}/src"
OUT="${script_dir}/out"
SRC=""
OUT=""
# FUNCTIONS
parse-vars() {
@ -226,4 +226,28 @@ main() {
fi
}
# Argument parser: select backend (docker|nix) and set paths
case "${1-}" in
nix)
m4b_tool_bin=(nix run github:sandreas/m4b-tool#m4b-tool-libfdk --)
SRC="${script_dir}/src"
OUT="${script_dir}/out"
shift
;;
docker|"")
m4b_tool_bin=(docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt sandreas/m4b-tool:latest)
SRC="./src"
OUT="./out"
[[ "${1-}" == docker ]] && shift || true
;;
-h|--help)
echo "Usage: $0 [docker|nix]" >&2
exit 0
;;
*)
echo "Unknown mode '$1'. Use 'docker' or 'nix'." >&2
exit 2
;;
esac
main "$@"