Files
blacklayer/install.sh
T
2026-01-28 15:43:48 +03:00

137 lines
3.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -e
echo "[blacklayer] installing..."
# -------------------------
# Detect package manager & install jq
# -------------------------
install_jq() {
if command -v jq >/dev/null 2>&1 \
&& command -v hypridle >/dev/null 2>&1 \
&& ldconfig -p 2>/dev/null | grep -q libgtk-3 \
&& ldconfig -p 2>/dev/null | grep -q gdk_pixbuf \
&& ldconfig -p 2>/dev/null | grep -q gtk-layer-shell; then
echo "[blacklayer] all runtime dependencies already installed"
return
fi
echo "[blacklayer] missing dependencies, installing..."
if command -v pacman >/dev/null 2>&1; then
sudo pacman -Sy --noconfirm gtk3 gdk-pixbuf2 gtk-layer-shell jq hypridle
elif command -v apt >/dev/null 2>&1; then
sudo apt update
sudo apt install -y \
libgtk-3-0 \
libgdk-pixbuf-2.0-0 \
libgtk-layer-shell0 \
jq
echo "[blacklayer] unsupported package please install hypridle manually"
elif command -v dnf >/dev/null 2>&1; then
sudo dnf install -y \
gtk3 \
gdk-pixbuf2 \
gtk-layer-shell \
jq \
hypridle
else
echo "[blacklayer] Unsupported distro."
echo "Please install required packages manually."
read -rp "Did you install all required packages? (y/n): " answer
case "$answer" in
y|Y|yes|YES)
echo "[blacklayer] Continuing..."
;;
*)
echo "[blacklayer] Please install the packages and run this script again."
exit 1
;;
esac
fi
}
install_jq
# -------------------------
# Paths
# -------------------------
BASE_DIR="$HOME/.config/blacklayer"
# -------------------------
# Create directory
# -------------------------
mkdir -p "$BASE_DIR"
# -------------------------
# Copy files
# -------------------------
echo "[blacklayer] copying files to $BASE_DIR"
echo "[blacklayer] copying files to ~/.config/hypr/"
echo "[blacklayer] copying files to ~/.config/systemd/user/"
cp blacklayer event-driven.sh blacklayer.conf blacklayer-worker.sh call-blacklayer.sh start-waybars.sh generate-waybar-configs.sh idle-lock.sh idle-sleep.sh idle-resume.sh "$BASE_DIR/" 2>/dev/null
cp "/pending-relocation/hypridle.conf" "~/.config/hypr/" 2>/dev/null
cp "/pending-relocation/hypridle.service" "~/.config/systemd/user/" 2>/dev/null
# -------------------------
# Permissions
# -------------------------
echo "[blacklayer] setting permissions"
sudo chown -R bob:bob "$BASE_DIR"
chmod 700 "$BASE_DIR"
chmod +x "$BASE_DIR"/*.sh 2>/dev/null || true
chmod 600 "$BASE_DIR"/*.conf 2>/dev/null || true
[ -f "$BASE_DIR/blacklayer" ] && chmod +x "$BASE_DIR/blacklayer"
systemctl --user daemon-reload
systemctl --user enable hypridle.service
echo "What is yours status bar?"
echo "1 - Waybar"
echo
read -rp "Seçim (1): " CHOICE
case "$CHOICE" in
1)
echo "[+] Waybar yapılandırması hazırlanıyor"
cd "$HOME/.config/blacklayer/" || {
echo "HATA: ~/.config/blacklayer bulunamadı"
exit 1
}
sudo chown -R "$USER:$USER" "$HOME/.config/waybar"
chmod 700 "$HOME/.config/waybar"
./generate-waybar-configs.sh
;;
*)
echo "Geçersiz seçim"
exit 1
;;
esac
# -------------------------
# Done
# -------------------------
echo
echo "[blacklayer] installation complete"
echo
echo "Run with:"
echo " $BASE_DIR/call-blacklayer.sh"
echo "Stop with:"
echo " $BASE_DIR/call-blacklayer.sh"
echo