94 lines
2 KiB
Bash
Executable file
94 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#|---/ /+------------------+---/ /|#
|
|
#|--/ /-| Global functions |--/ /-|#
|
|
#|-/ /--| Prasanth Rangan |-/ /--|#
|
|
#|/ /---+------------------+/ /---|#
|
|
|
|
set -e
|
|
|
|
scrDir="$(dirname "$(realpath "$0")")"
|
|
cloneDir="$(dirname "${scrDir}")"
|
|
confDir="${XDG_CONFIG_HOME:-$HOME/.config}"
|
|
cacheDir="$HOME/.cache/hyde"
|
|
aurList=(yay paru)
|
|
shlList=(zsh fish)
|
|
|
|
pkg_installed() {
|
|
local PkgIn=$1
|
|
|
|
if pacman -Qi "${PkgIn}" &> /dev/null; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
chk_list() {
|
|
vrType="$1"
|
|
local inList=("${@:2}")
|
|
for pkg in "${inList[@]}"; do
|
|
if pkg_installed "${pkg}"; then
|
|
printf -v "${vrType}" "%s" "${pkg}"
|
|
export "${vrType}"
|
|
return 0
|
|
fi
|
|
done
|
|
return 1
|
|
}
|
|
|
|
pkg_available() {
|
|
local PkgIn=$1
|
|
|
|
if pacman -Si "${PkgIn}" &> /dev/null; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
aur_available() {
|
|
local PkgIn=$1
|
|
|
|
if ${aurhlpr} -Si "${PkgIn}" &> /dev/null; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
nvidia_detect() {
|
|
readarray -t dGPU < <(lspci -k | grep -E "(VGA|3D)" | awk -F ': ' '{print $NF}')
|
|
if [ "${1}" == "--verbose" ]; then
|
|
for indx in "${!dGPU[@]}"; do
|
|
echo -e "\033[0;32m[gpu$indx]\033[0m detected // ${dGPU[indx]}"
|
|
done
|
|
return 0
|
|
fi
|
|
if [ "${1}" == "--drivers" ]; then
|
|
while read -r -d ' ' nvcode ; do
|
|
awk -F '|' -v nvc="${nvcode}" 'substr(nvc,1,length($3)) == $3 {split(FILENAME,driver,"/"); print driver[length(driver)],"\nnvidia-utils"}' "${scrDir}"/.nvidia/nvidia*dkms
|
|
done <<< "${dGPU[@]}"
|
|
return 0
|
|
fi
|
|
if grep -iq nvidia <<< "${dGPU[@]}"; then
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
prompt_timer() {
|
|
set +e
|
|
unset promptIn
|
|
local timsec=$1
|
|
local msg=$2
|
|
while [[ ${timsec} -ge 0 ]]; do
|
|
echo -ne "\r :: ${msg} (${timsec}s) : "
|
|
read -t 1 -n 1 promptIn
|
|
[ $? -eq 0 ] && break
|
|
((timsec--))
|
|
done
|
|
export promptIn
|
|
echo ""
|
|
set -e
|
|
}
|