#!/bin/bash # hyprland-plugins-setup - Install Hyprland plugins on first login # Called from hyprland.conf exec-once LOGFILE="$HOME/.local/var/log/hyprland-plugins-setup.log" mkdir -p "$(dirname "$LOGFILE")" log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOGFILE" } # Check if plugins already installed and enabled if hyprpm list 2>/dev/null | grep -q "hyprscrolling"; then if hyprpm list | grep -q "enabled: .*true"; then log "Plugins already installed and enabled, skipping" exit 0 fi fi log "Starting Hyprland plugin setup" # Add hyprland-plugins repository log "Adding hyprland-plugins repository..." if hyprpm add https://github.com/hyprwm/hyprland-plugins 2>&1 | tee -a "$LOGFILE"; then log "hyprland-plugins repository added" else log "Failed to add hyprland-plugins repository" fi # Enable plugins from hyprland-plugins for plugin in hyprscrolling xtra-dispatchers; do log "Enabling $plugin..." if hyprpm enable "$plugin" 2>&1 | tee -a "$LOGFILE"; then log "$plugin enabled" else log "Failed to enable $plugin" fi done # Add hy3 repository log "Adding hy3 repository..." if hyprpm add https://github.com/outfoxxed/hy3 2>&1 | tee -a "$LOGFILE"; then log "hy3 repository added" else log "Failed to add hy3 repository" fi # Enable hy3 log "Enabling hy3..." if hyprpm enable hy3 2>&1 | tee -a "$LOGFILE"; then log "hy3 enabled" else log "Failed to enable hy3" fi # Reload plugins into Hyprland log "Reloading plugins..." hyprpm reload 2>&1 | tee -a "$LOGFILE" log "Plugin setup complete" notify-send "Hyprland Plugins" "Plugin setup complete" -t 3000