mirror of
https://github.com/xsghetti/HyprCrux.git
synced 2025-07-03 13:50:38 -04:00
more script adds
This commit is contained in:
parent
a11d325a19
commit
e1df303d71
15 changed files with 621 additions and 0 deletions
80
Scripts/.extra/install_hyp.sh
Normal file
80
Scripts/.extra/install_hyp.sh
Normal file
|
@ -0,0 +1,80 @@
|
|||
#!/bin/env bash
|
||||
source global_fn.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: unable to source global_fn.sh, please execute from $(dirname $(realpath $0))..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
hyprland_clone="$HOME/.cache/hyprdots/Hyprland-clone"
|
||||
|
||||
chk_aurh
|
||||
|
||||
if ! pkg_installed hyprland-git ; then
|
||||
$aurhlpr ${use_default} -S hyprland-git || true
|
||||
if ! pkg_installed hyprland-git ; then #? redunduncy
|
||||
echo -e "\n\033[0;31mWARNING!!! READ ME!\033[0m"
|
||||
cat << WARN
|
||||
|
||||
Hyprland installation failed!
|
||||
Please check your internet connection and consider reporting the issue to your package manager's support.
|
||||
For manual installation of Hyprland, you can proceed with this installation or follow the guide at https://wiki.hyprland.org/Getting-Started/Installation/ (Press any key to exit)
|
||||
|
||||
|
||||
Note: This process is a work around.
|
||||
Typically, it's recommended to use package managers for installations/updates as they handle the process more efficiently.
|
||||
|
||||
IMPORTANT: After installation with this method please be aware that you should install hyprland with your package manager if already available.
|
||||
example: "$aurhlpr -Sy hyprland-git", or run ./install.sh again
|
||||
|
||||
The script will now attempt to:
|
||||
1. Manually compile and install Hyprland.
|
||||
2. Check and install any missing dependencies.
|
||||
3. Clone Hyprland to $hyprland_clone
|
||||
4. Execute [ make all && sudo make install ]
|
||||
|
||||
Please ensure you have sufficient permissions, internet connection and disk space for this operation.
|
||||
|
||||
WARN
|
||||
echo ""
|
||||
read -n 1 -s -r -p "[ENTER/SPACE:yes ANY:no] Do you want to proceed with the installation? " key
|
||||
[[ -z "$key" ]] || exit 0
|
||||
|
||||
echo -e "\nChecking dependencies..."
|
||||
dependencies=(gdb ninja gcc cmake meson libxcb xcb-proto xcb-util xcb-util-keysyms libxfixes libx11 libxcomposite xorg-xinput libxrender pixman wayland-protocols cairo pango seatd libxkbcommon xcb-util-wm xorg-xwayland libinput libliftoff libdisplay-info cpio tomlplusplus)
|
||||
missing_dependencies=()
|
||||
for dependency in "${dependencies[@]}"; do
|
||||
if ! pkg_installed $dependency; then
|
||||
missing_dependencies+=($dependency)
|
||||
fi
|
||||
done
|
||||
if [ ${#missing_dependencies[@]} -gt 0 ]; then
|
||||
echo "Missing dependencies: ${missing_dependencies[@]}"
|
||||
echo "Installing missing dependencies..."
|
||||
$aurhlpr ${use_default} -S ${missing_dependencies[@]}
|
||||
fi
|
||||
|
||||
if cd "$hyprland_clone" 2>/dev/null; then
|
||||
git fetch
|
||||
if [ "$(git rev-parse HEAD)" != "$(git rev-parse @{u})" ]; then
|
||||
echo "Changes are available in the remote repository. Pulling changes..."
|
||||
git reset --hard
|
||||
git clean -fd
|
||||
git pull
|
||||
else
|
||||
if command -v Hyprland >/dev/null; then
|
||||
echo -e "\033[1;33mLatest version of Hyprland is already compiled and installed!\033[0m"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
else
|
||||
mkdir -p "$hyprland_clone"
|
||||
git clone --recursive https://github.com/hyprwm/Hyprland "$hyprland_clone"
|
||||
cd $hyprland_clone
|
||||
fi
|
||||
|
||||
echo "Compiling Directory: $(pwd)"
|
||||
make all && sudo make install
|
||||
fi
|
||||
else
|
||||
echo -e "\033[0;32m[OK]\033[0m Hyprland"
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue