43 lines
1.3 KiB
Bash
Executable File
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
|