making changes..

This commit is contained in:
pika 2025-05-24 14:44:26 +02:00
parent 8078d8d5d1
commit 76d06eba8d

View file

@ -5,33 +5,33 @@ command_exists() {
command -v "$@" >/dev/null 2>&1 command -v "$@" >/dev/null 2>&1
} }
# WHY: source-script() {
# This import will give you the following variables: local url="$1"
# _sudo="sudo -E" <- only if non root user
# distro = <distro name, like 'arch', 'debian', 'fedora'..>
# arch = bool
# fedora = bool
# opensuse = bool....
# You can then use it for, `if $arch; then`
# Also this gives you the _install command, which installs a package pased on the packagemanager/distro used.
# CAUTION:
# This only wokrs for generic package names, like neovim, or vim, or tmux etc..
# not every package packagemanager has the same packagenames for their packages..
getImports() {
local url="https://git.k4li.de/scripts/imports/raw/branch/main/distros.sh"
local import="$(mktemp)" local import="$(mktemp)"
if command_exists curl; then
curl -fsSL $url -o $import
elif command_exists wget; then
wget -o $import $url
else
echo "curl/wget is required, but missing.."
exit 69
fi
source "$import" # ─< if $1 is a local file, source this one instead >─────────────────────────────────────
sleep 0.2 if [ -f "$url" ]; then
rm "$import" source "$url"
sleep 0.1
return 0
else
# ─< if $1 is a url, grab it and source it, also deletes afterwards >─────────────────────
if command_exists curl; then
curl -fsSL $url -o $import
elif command_exists wget; then
wget -o $import $url
else
echo "curl/wget is required, but missing.."
exit 69
fi
source "$import"
echo "${BLUE}Sourcing external script:${NC} $url"
line
sleep 0.1
rm -f "$import"
fi
} }
checkComp() { checkComp() {
@ -80,7 +80,7 @@ getDependencies() {
;; ;;
*) *)
if checkComp; then if checkComp; then
checkAndInstall "$pkg" check-and-install "$pkg"
fi fi
;; ;;
esac esac
@ -88,20 +88,38 @@ getDependencies() {
} }
build() { build() {
echo_pkg build local err out
run cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build spin bold yellow "Building $PACKAGE"
run cmake --build ./build --config Release --target all -j$(nproc 2>/dev/null || getconf NPROCESSORS_CONF) if run --err err --out out cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKEpkg-install_PREFIX:PATH=/usr -S . -B ./build; then
if run --err err --out out cmake --build ./build --config Release --target all -j$(nproc 2>/dev/null || getconf NPROCESSORS_CONF); then
upclear
check "Build $PACKAGE"
else
upclear
throw-err
fi
else
upclear
throw-err
fi
} }
cloneAndInstall() { cloneAndInstall() {
local cloneDir="$(mktemp -d)" local cloneDir="$(mktemp -d)"
cd $cloneDir || mkdir -p "$cloneDir" && cd "$cloneDir" cd $cloneDir || mkdir -p "$cloneDir" && cd "$cloneDir"
echo_pkg clone spin bold grey "Cloning $PACKAGE sources.."
git clone --depth=1 https://github.com/hyprwm/hyprgraphics.git && if run git clone --depth=1 https://github.com/hyprwm/hyprgraphics.git; then
upclear
check "Cloned $PACKAGE sources"
cd hyprgraphics cd hyprgraphics
else
upclear
throw-err
fi
if build; then if build; then
upclear
echo_pkg install "Installing package.." echo_pkg install "Installing package.."
$_sudo cmake --install build $_sudo cmake --install build
else else
@ -121,15 +139,42 @@ main() {
case "$distro" in case "$distro" in
arch) arch)
_install hyprgraphics pkg-install hyprgraphics
;; ;;
debian) debian)
cloneAndInstall cloneAndInstall
;; ;;
*)
echo-error "This script is not designed to run on $distro! Exiting now"
return 69
;;
esac esac
} }
if getImports; then # WHY:
# This import will give you the following variables:
# _sudo="sudo -E" <- only if non root user
# distro = <distro name, like 'arch', 'debian', 'fedora'..>
# arch = bool
# fedora = bool
# opensuse = bool....
# You can then use it for, `if $arch; then`
# Also this gives you the pkg-install command, which installs a package pased on the packagemanager/distro used.
# CAUTION:
# This only wokrs for generic package names, like neovim, or vim, or tmux etc..
# not every package packagemanager has the same packagenames for their packages..
setup-env() {
# local beddu=https://git.k4li.de/scripts/beddu/raw/branch/main/dist/beddu.sh
# local pika=https://git.k4li.de/scripts/imports/raw/branch/main/distros.sh
local dream=https://git.k4li.de/scripts/imports/raw/branch/main/dream.sh
if ! command_exists pkg-install && ! command_exists check-and-install && ! command_exists spin; then
source-script $dream
line
fi
}
if setup-env; then
# ─< package variable >─────────────────────────────────────────────────────────────────── # ─< package variable >───────────────────────────────────────────────────────────────────
unset PACKAGE unset PACKAGE