Break down monolithic script into focused components: - 00-system-prep.sh: system updates and Flathub - 01-package-install.sh: system packages and Flatpaks - 02-dev-tools-setup.sh: Neovim, fonts, shell tools - 03-fedora-dotnet-setup.sh: .NET development environment - 04-config-symlinks.sh: dotfile symlinking Fixes: - Use rpm -q for accurate package checks - Dynamic Fedora version detection - Replace neofetch with fastfetch - Correct dotfile names (aliases.zsh, commit-conventions.txt)
34 lines
1 KiB
Bash
Executable file
34 lines
1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# 00-system-prep.sh
|
|
# Updates system and sets up Flathub.
|
|
# Relies on DISTRO and PACKAGE_MANAGER being set by the caller.
|
|
|
|
echo "--- Starting System Preparation ---"
|
|
|
|
if [ -z "$DISTRO" ] || [ -z "$PACKAGE_MANAGER" ]; then
|
|
echo "ERROR: DISTRO and PACKAGE_MANAGER must be set in the environment."
|
|
exit 1
|
|
fi
|
|
|
|
# Update system before installing packages
|
|
echo "Updating system packages..."
|
|
if [ "$PACKAGE_MANAGER" == "dnf" ]; then
|
|
sudo dnf update -y && sudo dnf upgrade -y
|
|
elif [ "$PACKAGE_MANAGER" == "apt" ]; then
|
|
sudo apt update && sudo apt upgrade -y
|
|
else
|
|
echo "WARNING: Unknown package manager '$PACKAGE_MANAGER'. Skipping system update."
|
|
fi
|
|
|
|
# Setup Flatpak
|
|
echo "Setting up Flathub repository..."
|
|
if command -v flatpak &> /dev/null; then
|
|
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
else
|
|
echo "WARNING: flatpak command not found. Skipping Flathub setup."
|
|
echo "Ensure Flatpak is installed via 01-package-install.sh or manually."
|
|
fi
|
|
|
|
echo "--- System Preparation Finished ---"
|
|
|