Files
Panama/setup/scripts/install-initial-packages
2025-11-07 17:00:48 -06:00

43 lines
1.3 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; }
echo -e "\n--- Installing initial packages ---\n"
# --- Install all initial packages ---
PACKAGES_FILE="$HOME/.local/share/Panama/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 "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