Files
Panama/setup/scripts/install-packages
2025-12-18 14:17:09 -06:00

66 lines
2.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# --- Helper functions ---
log() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
exists() { command -v "$1" >/dev/null 2>&1; }
# --- Defined Paths ---
PANAMA_PATH="$HOME/.local/share/Panama"
echo -e "\n--- Installing RPM Fusion Free and Nonfree Repositories ---\n"
sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm > /dev/null 2>&1
echo -e "\n--- Enabling Fedora Cisco OpenH264 Repository ---\n"
sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1
echo -e "\n--- Installing RPM Fusion AppStream Metadata ---\n"
sudo dnf update @core -y > /dev/null 2>&1
sudo dnf install -y rpmfusion-\*-appstream-data
echo -e "\n--- Installing Terra Repository ---\n"
sudo dnf install -y --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release > /dev/null 2>&1
echo -e "\n--- Installing relevant packages ---\n"
# --- Update all packages ---
log "Updating all packages..."
sudo dnf update -y --refresh > /dev/null 2>&1
# --- Install all initial packages ---
PACKAGES_FILE="$PANAMA_PATH/setup/packages/initial-packages"
if [[ -f "$PACKAGES_FILE" ]]; then
INITIAL_PACKAGES=$(tr "\n" " " <"$PACKAGES_FILE")
log "Installing $INITIAL_PACKAGES"
sudo dnf install -y "$INITIAL_PACKAGES" > /dev/null 2>&1
log "Initial packages installed!"
else
log "Package list was not in specified path: $PACKAGES_FILE"
fi
# --- Install oh-my-posh if not already installed. ---
LOCAL_BIN_PATH="$HOME/.local/bin"
mkdir -p "$LOCAL_BIN_PATH"
if [[ -x "$LOCAL_BIN_PATH/oh-my-posh" ]]; then
log "oh-my-posh already installed at \"$LOCAL_BIN_PATH/oh-my-posh\""
else
log "Installing oh-my-posh via curl..."
curl -s https://ohmyposh.dev/install.sh | bash -s -- -d "$LOCAL_BIN_PATH" > /dev/null 2>&1
fi
# --- Install Development Packages needed for Neovim ---
DEV_FILE="$PANAMA_PATH/setup/packages/development-packages"
if [[ -f "$DEV_FILE" ]]; then
DEV_PACKAGES=$(tr "\n" " " <"$DEV_FILE")
log "Installing $DEV_PACKAGES"
sudo dnf install -y $DEV_PACKAGES > /dev/null 2>&1
log "Development packages installed!"
else
log "Package list was not in specified path: $DEV_FILE"
fi
# --- Install Bun ---
if [[ -x "$HOME/.bun/bin/bun" ]]; then
log "Bun already installed at \"$HOME/.bun/bin/bun\""
else
log "Installing Bun via curl..."
curl -fsSL https://bun.sh/install | bash > /dev/null 2>&1
fi