Compare commits

...

2 Commits

Author SHA1 Message Date
ca7d4e3460 Update script to be really pretty 2025-12-18 21:08:19 +00:00
3bb192238c Update script to be really pretty 2025-12-18 21:03:43 +00:00
2 changed files with 25 additions and 17 deletions

View File

@@ -7,27 +7,28 @@ exists() { command -v "$1" >/dev/null 2>&1; }
# --- Defined Paths --- # --- Defined Paths ---
PANAMA_PATH="$HOME/.local/share/Panama" PANAMA_PATH="$HOME/.local/share/Panama"
echo -e "\n--- Installing RPM Fusion Free and Nonfree Repositories ---\n" echo -e "\n--- Installing Repositories ---"
log "Installing RPM Fusion Free and Nonfree Repositories"
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 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" log "Enabling Fedora Cisco OpenH264 Repository"
sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1 sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1
echo -e "\n--- Installing RPM Fusion AppStream Metadata ---\n" log "Installing RPM Fusion AppStream Metadata"
sudo dnf update @core -y > /dev/null 2>&1 sudo dnf update @core -y > /dev/null 2>&1
sudo dnf install -y rpmfusion-\*-appstream-data sudo dnf install -y rpmfusion-\*-appstream-data > /dev/null 2>&1
log "Installing Terra Repository"
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 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" echo -e "\n--- Installing relevant packages ---"
# --- Update all packages --- log "Updating all packages. This may take a while"
log "Updating all packages..."
sudo dnf update -y --refresh > /dev/null 2>&1 sudo dnf update -y --refresh > /dev/null 2>&1
# --- Install all initial packages --- # --- Install all initial packages ---
PACKAGES_FILE="$PANAMA_PATH/setup/packages/initial-packages" PACKAGES_FILE="$PANAMA_PATH/setup/packages/initial-packages"
if [[ -f "$PACKAGES_FILE" ]]; then if [[ -f "$PACKAGES_FILE" ]]; then
INITIAL_PACKAGES=$(tr "\n" " " <"$PACKAGES_FILE") INITIAL_PACKAGES=$(tr "\n" " " <"$PACKAGES_FILE")
log "Installing $INITIAL_PACKAGES" log "Installing Initial Packages"
echo -e "Includes the following packages:"
echo -e "$(<"$PACKAGES_FILE")"
sudo dnf install -y "$INITIAL_PACKAGES" > /dev/null 2>&1 sudo dnf install -y "$INITIAL_PACKAGES" > /dev/null 2>&1
log "Initial packages installed!" log "Initial packages installed!"
else else
@@ -37,7 +38,6 @@ fi
# --- Install oh-my-posh if not already installed. --- # --- Install oh-my-posh if not already installed. ---
LOCAL_BIN_PATH="$HOME/.local/bin" LOCAL_BIN_PATH="$HOME/.local/bin"
mkdir -p "$LOCAL_BIN_PATH" mkdir -p "$LOCAL_BIN_PATH"
if [[ -x "$LOCAL_BIN_PATH/oh-my-posh" ]]; then if [[ -x "$LOCAL_BIN_PATH/oh-my-posh" ]]; then
log "oh-my-posh already installed at \"$LOCAL_BIN_PATH/oh-my-posh\"" log "oh-my-posh already installed at \"$LOCAL_BIN_PATH/oh-my-posh\""
else else
@@ -49,7 +49,9 @@ fi
DEV_FILE="$PANAMA_PATH/setup/packages/development-packages" DEV_FILE="$PANAMA_PATH/setup/packages/development-packages"
if [[ -f "$DEV_FILE" ]]; then if [[ -f "$DEV_FILE" ]]; then
DEV_PACKAGES=$(tr "\n" " " <"$DEV_FILE") DEV_PACKAGES=$(tr "\n" " " <"$DEV_FILE")
log "Installing $DEV_PACKAGES" log "Installing Development Packages. Mostly for Neovim."
echo -e "Includes the following packages:"
echo -e "$(<"$DEV_FILE")"
sudo dnf install -y $DEV_PACKAGES > /dev/null 2>&1 sudo dnf install -y $DEV_PACKAGES > /dev/null 2>&1
log "Development packages installed!" log "Development packages installed!"
else else

View File

@@ -1,5 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# --- Helper functions ---
log() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
# Define paths as they have not been defined by new bashrc yet! # Define paths as they have not been defined by new bashrc yet!
PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}" PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}"
PANAMA_BASH="${PANAMA_BASH:-$PANAMA_PATH/config/bash}" PANAMA_BASH="${PANAMA_BASH:-$PANAMA_PATH/config/bash}"
@@ -11,36 +14,39 @@ CONFIG="$HOME/.config"
mkdir -p "$PANAMA_OLD" mkdir -p "$PANAMA_OLD"
# --- Bashrc --- # --- Bashrc ---
echo -e "\n--- Replacing .bashrc ---"
# Backup existing .bashrc if it's a regular file # Backup existing .bashrc if it's a regular file
if [ -f "$HOME/.bashrc" ] && [ ! -L "$HOME/.bashrc" ]; then if [ -f "$HOME/.bashrc" ] && [ ! -L "$HOME/.bashrc" ]; then
log "Backing up existing .bashrc"
mv "$HOME/.bashrc" "$PANAMA_OLD/.bashrc" mv "$HOME/.bashrc" "$PANAMA_OLD/.bashrc"
fi fi
# Remove old symlink if it exists and points somewhere else # Remove old symlink if it exists and points somewhere else
if [ -L "$HOME/.bashrc" ]; then if [ -L "$HOME/.bashrc" ]; then
log "Removing old .bashrc symlink"
rm "$HOME/.bashrc" rm "$HOME/.bashrc"
fi fi
# Symlink Panama .bashrc file to ~/.bashrc # Symlink Panama .bashrc file to ~/.bashrc
log "Symlinking Panama .bashrc file to ~/.bashrc"
ln -s "$PANAMA_BASH/.bashrc" "$HOME/.bashrc" ln -s "$PANAMA_BASH/.bashrc" "$HOME/.bashrc"
dirs=("espanso" "forge" "ghostty" "kitty" "nvim" "tmux") dirs=("espanso" "forge" "ghostty" "kitty" "nvim" "tmux")
for dir in "${dirs[@]}"; do for dir in "${dirs[@]}"; do
echo "--- Setting up $dir ---" echo -e "\n--- Setting up $dir ---"
# Remove old symlink if it exists # Remove old symlink if it exists
if [ -L "$CONFIG/$dir" ]; then if [ -L "$CONFIG/$dir" ]; then
rm "$CONFIG/$dir" rm "$CONFIG/$dir"
echo "Removed old symlink at $CONFIG/$dir" log "Removed old symlink at $CONFIG/$dir"
fi fi
# Backup existing directory if it exists # Backup existing directory if it exists
if [ -d "$CONFIG/$dir" ]; then if [ -d "$CONFIG/$dir" ]; then
mv "$CONFIG/$dir" "$PANAMA_OLD/$dir" mv "$CONFIG/$dir" "$PANAMA_OLD/$dir"
echo "Moved existing $dir config to $PANAMA_OLD/$dir" log "Moved existing $dir config to $PANAMA_OLD/$dir"
fi fi
# Create symlink # Create symlink
ln -s "$PANAMA_DOT/$dir" "$CONFIG/$dir" ln -s "$PANAMA_DOT/$dir" "$CONFIG/$dir"
echo "Linked $PANAMA_DOT/$dir → $CONFIG/$dir" log "Linked $PANAMA_DOT/$dir → $CONFIG/$dir"
echo
done done