Files
Panama/setup/scripts/install-packages
2025-11-12 09:46:59 -06:00

66 lines
2.0 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 relevant packages ---\n"
# --- 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 eza with cargo if not already installed ---
if [[ -x "$HOME/.cargo/bin/eza" ]]; then
log "eza already installed at \"$HOME/.cargo/bin/eza\""
else
if exists cargo; then
log "Installing eza via Cargo..."
log "Cargo must build eza so this could take a minute or two."
cargo install eza > /dev/null 2>&1
else
log "Cargo not found. Was the package list installed?"
fi
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
sudo dnf install -y $DEV_PACKAGES
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