diff --git a/cyfrinup/install b/cyfrinup/install index b257974e..051f83de 100755 --- a/cyfrinup/install +++ b/cyfrinup/install @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -e +set -eo pipefail # ----------------------------------------------------------- # Forked from Foundry. @@ -32,7 +32,8 @@ banner echo Installing cyfrinup... -CYFRIN_DIR="$HOME/.cyfrin" +BASE_DIR="${XDG_CONFIG_HOME:-$HOME}" +CYFRIN_DIR="${CYFRIN_DIR:-"$BASE_DIR/.cyfrin"}" CYFRIN_BIN_DIR="$CYFRIN_DIR/bin" CYFRINUP_URL="https://raw.githubusercontent.com/Cyfrin/aderyn/master/cyfrinup/cyfrinup" @@ -57,6 +58,10 @@ case $SHELL in PROFILE=$HOME/.config/fish/config.fish PREF_SHELL=fish ;; +*/ash) + PROFILE=$HOME/.profile + PREF_SHELL=ash + ;; *) echo "cyfrinup: could not detect shell, manually add ${CYFRIN_BIN_DIR} to your PATH." exit 1 @@ -65,8 +70,15 @@ esac # Only add cyfrinup if it isn't already in PATH. if [[ ":$PATH:" != *":${CYFRIN_BIN_DIR}:"* ]]; then # Add the cyfrinup directory to the path and ensure the old PATH variables remain. - echo >> $PROFILE && echo "export PATH=\"\$PATH:$CYFRIN_BIN_DIR\"" >> $PROFILE + if [[ "$PREF_SHELL" == "fish" ]]; then + echo >> "$PROFILE" && echo "fish_add_path -a $CYFRIN_BIN_DIR" >> "$PROFILE" + else + echo >> "$PROFILE" && echo "export PATH=\"\$PATH:$CYFRIN_BIN_DIR\"" >> "$PROFILE" + fi fi +# Export the PATH directly in the current session +export PATH="$PATH:$CYFRIN_BIN_DIR" + echo && echo "Detected your preferred shell is ${PREF_SHELL} and added cyfrinup to PATH. Run 'source ${PROFILE}' or start a new terminal session to use cyfrin." echo "Then, simply run 'cyfrinup' to install Cyfrin tool suite" \ No newline at end of file