arch-hyprland-setup/base_install.sh
2025-08-07 19:05:09 -04:00

79 lines
2.8 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Arch Hyprland Setup - Base Installer
# Runs all installation scripts in the correct order
set -e # Exit on any error
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPTS_DIR="$SCRIPT_DIR/scripts"
echo "Starting Arch Hyprland Setup..."
# Make all scripts executable
echo "Making scripts executable..."
find "$SCRIPTS_DIR" -name "*.sh" -type f -exec chmod +x {} \;
echo "✓ All scripts are now executable"
# Function to run a script and check for errors
run_script() {
local script="$1"
local name="$2"
if [[ -f "$script" ]]; then
echo "Running $name..."
bash "$script"
echo " $name completed"
else
echo "<EFBFBD> Warning: $name not found at $script"
fi
}
# Step 1: Install AUR helper (yay)
run_script "$SCRIPTS_DIR/aur.sh" "AUR helper installation"
# Step 2: System configuration
echo "Configuring system settings..."
run_script "$SCRIPTS_DIR/config/detect-keyboard-layout.sh" "Keyboard layout detection"
run_script "$SCRIPTS_DIR/config/network.sh" "Network configuration"
run_script "$SCRIPTS_DIR/config/nvidia.sh" "NVIDIA configuration"
run_script "$SCRIPTS_DIR/config/power.sh" "Power management"
run_script "$SCRIPTS_DIR/config/fix-fkeys.sh" "Function keys configuration"
run_script "$SCRIPTS_DIR/config/config.sh" "General system configuration"
# Step 3: Copy configuration files
echo "Copying configuration files..."
CONFIG_DIR="$SCRIPT_DIR/config"
if [[ -d "$CONFIG_DIR" ]]; then
# Create config directories if they don't exist
mkdir -p "$HOME/.config/hypr"
# Copy hyprland.conf to ~/.config/hypr/
if [[ -f "$CONFIG_DIR/hyprland.conf" ]]; then
cp "$CONFIG_DIR/hyprland.conf" "$HOME/.config/hypr/hyprland.conf"
echo "✓ Hyprland configuration copied"
fi
echo "✓ Configuration files copied"
else
echo "⚠ Warning: Config directory not found at $CONFIG_DIR"
fi
# Step 4: Desktop environment
echo "Installing desktop environment..."
run_script "$SCRIPTS_DIR/desktop/fonts.sh" "Font installation"
run_script "$SCRIPTS_DIR/desktop/hyprlandia.sh" "Hyprland installation"
run_script "$SCRIPTS_DIR/desktop/uwsm.sh" "Universal Wayland Session Manager"
run_script "$SCRIPTS_DIR/desktop/desktop.sh" "Desktop applications"
run_script "$SCRIPTS_DIR/desktop/bluetooth.sh" "Bluetooth setup"
run_script "$SCRIPTS_DIR/desktop/theme.sh" "Theme configuration"
# Step 5: Additional software and configurations
echo "Installing additional software..."
run_script "$SCRIPTS_DIR/development.sh" "Development tools"
run_script "$SCRIPTS_DIR/firewall.sh" "Firewall configuration"
run_script "$SCRIPTS_DIR/mimetypes.sh" "MIME types configuration"
run_script "$SCRIPTS_DIR/xtras.sh" "Extra applications"
echo "<<3C> Arch Hyprland Setup completed successfully!"
echo "Please reboot your system to ensure all changes take effect."