{ stdenv, ffmpeg-full, nunicode, getopt, }: '' #!${stdenv.shell} port=8000 host=0.0.0.0 config=$(pwd)/config metadata=$(pwd)/metadata LONGOPTS=host:,port:,config:,metadata:,help args=$(${getopt}/bin/getopt -l "$LONGOPTS" -o h -- "$@") eval set -- "$args" while [ $# -ge 1 ]; do case "$1" in --) # No more options left. shift break ;; --host) host="$2" shift ;; --port) port="$2" shift ;; --config) if [[ "''${2:0:1}" = "/" ]]; then config="$2" else config="$(pwd)/$2" fi shift ;; --metadata) if [[ "''${2:0:1}" = "/" ]]; then metadata="$2" else metadata="$(pwd)/$2" fi shift ;; --help|-h) echo "Usage: audiobookshelf [--host ] [--port ] [--metadata ] [--config ]" exit 0 ;; esac shift done NODE_ENV=production \ SOURCE=nixpkgs \ SKIP_BINARIES_CHECK=1 \ FFMPEG_PATH=${ffmpeg-full}/bin/ffmpeg \ FFPROBE_PATH=${ffmpeg-full}/bin/ffprobe \ NUSQLITE3_PATH=${nunicode.sqlite}/lib/libnusqlite3 \ CONFIG_PATH="$config" \ METADATA_PATH="$metadata" \ PORT="$port" \ HOST="$host" \''