From 35ddd28a3b5910787086452efe8f9fedfd146e4e Mon Sep 17 00:00:00 2001 From: Fr4nzD13trich Date: Fri, 2 Jan 2026 16:00:52 +0100 Subject: [PATCH] Removal process updated; Alias configuration for FISH added --- helium_helper.sh | 82 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 24 deletions(-) diff --git a/helium_helper.sh b/helium_helper.sh index 807c1f0..948dead 100755 --- a/helium_helper.sh +++ b/helium_helper.sh @@ -20,7 +20,7 @@ APP_SOURCE="GitHub" SCRIPT_NAME="$APP_NAME Helper Script" SCRIPT_FILE_NAME="helium_helper.sh" AUTO_SCRIPT_FILE_NAME="helium_launcher_update.sh" -SCRIPT_VERSION="0.5.7" +SCRIPT_VERSION="0.5.8" ALIAS="update-helium" ## LOCATIONS @@ -44,9 +44,9 @@ APP_SOURCE_URL=https://api.github.com/repos/imputnet/helium-linux/releases/lates ### DEPENDENCIES cmd_query() { - local PACKAGE="$1" + #local PACKAGE=$1 - if ! command -v "$PACKAGE" >/dev/null 2>&1 ; then + if ! command -v $PACKAGE > /dev/null 2>&1 ; then echo " - $PACKAGE" >> $TMP/missingDeps fi @@ -69,6 +69,24 @@ dependency_check () { fi } +### SHELL CHECK +shell_query() { + #local SHELL_OPTION=$1 + + if [ "$(echo $SHELL | grep "$SHELL_OPTION")" ] ; then + ACTIVE_SHELL=$SHELL_OPTION + fi + +} + +shell_check() { + SHELLS=("bash" "fish" "ksh" "zsh") + + for SHELL_OPTION in "${SHELLS[@]}" ; do + shell_query "$SHELL_OPTION" + done +} + ### CHECK LOCAL INSTALL local_check() { if ! [ -d "$INSTALL_PATH" ] ; then @@ -176,15 +194,15 @@ add_launcher() { } ### ALIAS -add_alias() { ### WORKS BUT NEEDS WORK +add_alias() { if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then mkdir -p $SCRIPT_PATH wget -P $TMP $REMOTE_SCRIPT_URL -q chmod +x $TMP/$SCRIPT_FILE_NAME mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH fi - - if [ -f "$HOME/.zshrc" ] ; then + + if [ "$ACTIVE_SHELL" == "zsh" ] ; then if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.zshrc\n" exit @@ -192,7 +210,7 @@ add_alias() { ### WORKS BUT NEEDS WORK echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.zshrc\n" - elif [ -f "$HOME/.bashrc" ] ; then + elif [ "$ACTIVE_SHELL" == "bash" ] ; then if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.bashrc\n" exit @@ -200,8 +218,21 @@ add_alias() { ### WORKS BUT NEEDS WORK echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.bashrc\n" + elif [ "$ACTIVE_SHELL" == "fish" ] ; then + if [ "$(cat $HOME/.config/fish/fish.config | grep "source $ALIAS")" ] ; then + echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.config/fish/fish.config\n" + exit + fi + echo "### Helium Helper Alias FISH ###" > $HOME/.config/fish/$ALIAS.config + echo >> $HOME/.config/fish/$ALIAS.config + echo "function $ALIAS" >> $HOME/.config/fish/$ALIAS.config + echo " $SCRIPT_PATH/$SCRIPT_FILE_NAME" >> $HOME/.config/fish/$ALIAS.config + echo "end" >> $HOME/.config/fish/$ALIAS.config + echo "source $HOME/.config/fish/$ALIAS.config" >> $HOME/.config/fish/fish.config + echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.config/fish/fish.config\n" + else - echo -e "\n ${RED}No .shellrc file found!${CRS}\n" + echo -e "\n ${RED}No shell config file found!${CRS}\n" fi } @@ -296,24 +327,26 @@ remove_helium() { read -p " Remove $APP_NAME_LONG incl. backups and launcher? (Y/n) : " CONFIRM_REMOVE if [[ "$CONFIRM_REMOVE" == "" || "$CONFIRM_REMOVE" == "y" || "$CONFIRM_REMOVE" == "Y" ]] ; then - rm -rf $INSTALL_PATH - if [ -f "$LAUNCHER_PATH/$APP_NAME.desktop" ] ; then ### CREATE LOOP HERE? - rm $LAUNCHER_PATH/$APP_NAME.desktop - fi + REMOVABLE=("$INSTALL_PATH" "$LAUNCHER_PATH/$APP_NAME.desktop" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME") + echo + for RM_PATH in "${REMOVABLE[@]}" ; do + if [[ -f "$RM_PATH" || -d "$RM_PATH" ]] ; then + echo -e " ${RED}Removing $RM_PATH ...${CRS}" + #rm -rf "$PATH" + fi + done + + shell_check - if [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then - rm $SCRIPT_PATH/$SCRIPT_FILE_NAME - fi + if [ "$ACTIVE_SHELL" == "zsh" ] ; then + if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then + sed -i "/$ALIAS/d" $HOME/.zshrc + fi - if [ -f "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME" ] ; then - rm $SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME - fi - - if [ -f "$HOME/.zshrc" ] ; then - sed -i "/$ALIAS/d" $HOME/.zshrc - - elif [ -f "$HOME/.bashrc" ] ; then - sed -i "/$ALIAS/d" $HOME/.bashrc + elif [ "$ACTIVE_SHELL" == "bash" ] ; then + if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then + sed -i "/$ALIAS/d" $HOME/.bashrc + fi fi @@ -534,6 +567,7 @@ while getopts ":i,:l,:a,:u,:U,:r,:c,:s,:S,:h" OPTION ; do a) echo -e "\n ${CYN}Adding alias...${CRS}" + shell_check add_alias exit ;;