# ─────────────< Check for packagemanager and alias everything for easy use :) >─────────── function upin # ─< check for sudo/root >────────────────────────────────────────────────────────────────── if [ $USER = root ] set su "" else if command -v sudo >/dev/null 2>&1 set su sudo end end # ─────────────────────────< START | distro/packagemanger detection >───────────────────────── # ─< DNF - Fedora >───────────────────────────────────────────────────── if command -v dnf set pkg "$su dnf" set install "$pkg install" set update "$pkg update && $pkg upgrade" set search "$pkg search" set remove "$pkg remove" set unattendet "$pkg install -y" end # ─< APT/NALA - Debian >──────────────────────────────────────────────── if command -v nala >/dev/null 2>&1 set pkg "$su nala" set install "$pkg update && $pkg install" set update "$pkg update && $pkg upgrade" set search "$pkg search" set remove "$pkg remove" set unattendet "$pkg install --assume-yes" else if command -v apt-get >/dev/null 2>&1 set pkg "$su apt-get" set install "$pkg update && $pkg install" set update "$pkg update && $pkg upgrade" set search "$pkg search" set remove "$pkg remove" set unattendet "$pkg install --assume-yes" end end # ─< Pacman - Arch >──────────────────────────────────────────────────── if command -v paru >/dev/null 2>&1 set pkg paru set install "$pkg -S" set update "$pkg -Syu" set search "$pkg -Ss" set remove "$pkg -R" set unattendet "$pkg install --noconfirm" else if command -v yay >/dev/null 2>&1 set pkg yay set install "$pkg -S" set update "$pkg -Syu" set search "$pkg -Ss" set remove "$pkg -R" set unattendet "$pkg install --noconfirm" else if command -v pacman >/dev/null 2>&1 set pkg "$su pacman" set install "$pkg -S" set update "$pkg -Syu" set search "$pkg -Ss" set remove "$pkg -R" set unattendet "$pkg install --noconfirm" end end end # ─< Zypper - OpenSuse >──────────────────────────────────────────────────────────────────── if command -v zypper >/dev/null 2>&1 set pkg "$su zypper" set install "$pkg in" set update "$pkg dup" set search "$pkg se" set remove "$pkg rm" alias lock="$pkg al" set unattendet "$pkg install --non-interactive" end # ─< APK - Alpine >───────────────────────────────────────────────────────────────────────── if command -v apk >/dev/null 2>&1 set pkg "$su apk" set install "$pkg add" set update "$pkg update" set search "$pkg search" end if set -q unattendet set -U FISH_INSTALL $unattendet else set -U FISH_INSTALL $install end if test -n "$install" set vars install update search remove for env in $vars if not test -z "$env" alias "$env"="$$env" end end end end # ╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮ # │ FUNCTION: Define function gsa (to ask the user which submodule to clone to which path and which name │ # ╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯ function gsa set dir $PWD echo "-- these are the current submodules --" if command -v rg >/dev/null 2>&1 echo "-- for $dir --" rg -i submodule (echo $dir/.gitmodules) else if command -v grep >/dev/null 2>&1 echo "-- for $dir --" grep -i submodule (echo $dir/.gitmodules) else echo "-- no 'grep' or 'rg' found.. your okay?? --" end end # ─< Prompt the user to enter the repository URL to add as a submodule >──────────────────── echo "-- enter the repository to add as a submodule --" echo "-- (type 'quit' to quit) --" read repo if [ "$repo" = quit ] exit 1 end # ─< Prompt the user to enter the relative path where the submodule will be cloned >──────── # ─< Advise not to use the leading / or ./ >──────────────────────────────────────────────── echo "-- enter the relative path, where the submodule will be cloned to. (!! do it like this: ./path/to/clone/to) --" echo "-- (type 'quit' to quit) --" read -S path if [ "$path" = quit ] exit 1 end # ─< Prompt the user to enter the branch to checkout (e.g., main, master) >───────────────── echo "-- enter the branch to checkout (main/master..) --" echo "-- (type 'quit' to quit) --" read branch if [ "$branch" = quit ] exit 1 end echo "-- enter a name for the submodule --" echo "-- (type 'quit' to quit) --" read -l name if [ "$name" = quit ] exit 1 end # ─< Ask the user for confirmation if the constructed command looks correct >─────────────── echo "git submodule add --branch $branch --name $name $repo $path" echo "-- does this command look right to you? [y/n] --" read -l comm # ─< Switch statement to handle the user's confirmation input >───────────────────────────── switch $comm # ─< If the user inputs 'y' or 'Y', execute the git submodule add command >───────────────── case y Y git submodule add --branch $branch --name $name $repo $path git submodule update --init --recursive git add . git commit -m "Addet $name as a submodule" git push # ─< If the user inputs 'n' or 'N', notify them to try again >────────────────────────────── case n N echo "-- all right, just try again :) --" end end # ╭────────────────────────────────────╮ # │ FUNCTION: ssh-agent initialisation │ # ╰────────────────────────────────────╯ set -x SSH_AUTH_SOCK $XDG_RUNTIME_DIR/ssh-agent.socket # ╭───────────────────────────────────────────────────╮ # │ FUNCTION: set tmux command to always work with ta │ # ╰───────────────────────────────────────────────────╯ if command -v tmux >/dev/null 2>&1 set tmux_y "tmux-session active!" set tmux_n "No tmux-session found!" function ta command tmux list-sessions >/dev/null 2>&1 switch $status case 0 if command -v notify-send >/dev/null 2>&1 notify-send "$tmux_y" end echo "$tmux_y" sleep 0.5 tmux a case '*' if command -v notify-send >/dev/null 2>&1 notify-send "$tmux_n" end echo "No Tmux session found. Creating one now! --" sleep 0.5 tmux end end end # ╭────────────────────────────────────────────╮ # │ FUNCTION: check fisher plugin dependencies │ # ╰────────────────────────────────────────────╯ function dep_fisher # ─< Define dependencies for the plugins used by fisher >─────────────────────────────────── set dependencies fzf btop fastfetch curl wget cmatrix # ─< Check and install dependencies >─────────────────────────────────────────────────────── for dep in $dependencies if not command -v $dep >/dev/null 2>&1 echo "Dependency $dep is not installed. Installing..." if test -n "$FISH_INSTALL" alias fish_install="$FISH_INSTALL" fish_install $dep else echo "FISH_INSTALL is not defined: $FISH_INSTALL | Please install $dep manually." end end end end # ╭───────────────────────────────────────────────────────╮ # │ FUNCTION: check for fisher and install if not present │ # ╰───────────────────────────────────────────────────────╯ function check_fishr if command -v fisher >/dev/null 2>&1 fisher update else if test ! -e $HOME/.config/fish/functions/fisher.fish curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source & fisher install jorgebucaran/fisher fisher update end end end check_fishr