#!/usr/bin/env miaou-bash # Constants GIT_URL=https://git.artcode.re/miaou/miaou-bash # Functions function assert_normal_user { [[ "$UID" -eq 0 ]] && echo 'normal user expected' && return 1 true } function assert_credentials { local base_url base_url=$(echo "$GIT_URL" | cut -d/ -f3) if ! ssh -T "git@${base_url}"; then echo "credentials missing: $base_url" return 2 fi } function assert_system_mode { [[ -L "$MIAOU_BASH_DIR" ]] && echo "already in develoment mode: $(realpath $MIAOU_BASH_DIR)" && return 3 true } function dev_mode { git clone "$GIT_URL" sudo rm "$MIAOU_BASH_DIR" -rf sudo ln -s "$target" "$MIAOU_BASH_DIR" sudo "$MIAOU_BASH_DIR"/lib/init.sh } function assert_reachable_target { sudo -u nobody test -x "$target" } # Main assert_normal_user assert_system_mode assert_credentials target="$PWD"/ target+=$(echo "$GIT_URL" | cut -d/ -f5) source "$MIAOU_BASH_DIR"/lib/functions.bash _confirm_destructive "target directory will be: ${target}" assert_reachable_target dev_mode