NTP-Timeturner/setup.sh
Chris Frankland-Wright a6f4c51fcd fixed wallpaper
2025-06-23 17:02:51 +01:00

140 lines
5.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
echo ""
echo "─────────────────────────────────────────────"
echo " Welcome to the NTP Timeturner Installer"
echo "─────────────────────────────────────────────"
echo ""
echo "\"It's a very complicated piece of magic...\" Hermione Granger"
echo "Initialising temporal calibration sequence..."
echo "Requesting clearance from the Ministry of Time Standards..."
echo ""
# ---------------------------------------------------------
# Step 1: Update and upgrade packages
# ---------------------------------------------------------
echo ""
echo "Step 1: Updating package lists..."
sudo apt update
echo "Upgrading installed packages..."
sudo apt upgrade -y
# ---------------------------------------------------------
# Step 2: Install essential development tools
# ---------------------------------------------------------
echo ""
echo "Step 2: Installing development tools..."
sudo apt install -y git curl python3 python3-pip build-essential autoconf automake libtool cmake
# ---------------------------------------------------------
# Step 3: Install audio and media dependencies
# ---------------------------------------------------------
echo ""
echo "Step 3: Installing audio libraries and tools..."
sudo apt install -y alsa-utils ffmpeg \
portaudio19-dev python3-pyaudio \
libasound2-dev libjack-jackd2-dev \
libsndfile-dev \
|| echo "Warning: Some audio dependencies may have failed to install — continuing anyway."
# ---------------------------------------------------------
# Step 4: Install Python packages
# ---------------------------------------------------------
echo ""
echo "Step 4: Installing Python packages..."
pip3 install numpy --break-system-packages
# ---------------------------------------------------------
# Step 5: Build and install libltc (needed by ltc-tools)
# ---------------------------------------------------------
echo ""
echo "Step 5: Building libltc (the heart of our time-magic)..."
cd ~
if [ ! -d "libltc" ]; then
echo "Cloning libltc from GitHub..."
git clone https://github.com/x42/libltc.git
fi
cd libltc
echo "Preparing libltc build..."
./autogen.sh
./configure
echo "Compiling libltc..."
make
echo "Installing libltc..."
sudo make install
sudo ldconfig
# ---------------------------------------------------------
# Step 6: Build and install ltc-tools
# ---------------------------------------------------------
echo ""
echo "Step 6: Building ltc-tools (with a gentle nudge)..."
cd ~
if [ ! -d "ltc-tools" ]; then
echo "Cloning ltc-tools from GitHub..."
git clone https://github.com/x42/ltc-tools.git
fi
cd ltc-tools
echo "Compiling ltc-tools (bypassing package check)..."
make HAVE_LIBLTC=true
echo "Installing ltc-tools..."
sudo make install
sudo ldconfig
# ---------------------------------------------------------
# Step 7: Apply Custom Splash Screen and Wallpaper
# ---------------------------------------------------------
echo ""
echo "Step 7: Applying Timeturner visual identity..."
# Splash screen
echo "Downloading splash screen..."
sudo curl -L -o /usr/share/plymouth/themes/pix/splash.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/splash.png
sudo chmod 644 /usr/share/plymouth/themes/pix/splash.png
# Wallpaper
echo "Downloading wallpaper..."
mkdir -p /home/hermione/Pictures
curl -L -o /home/hermione/Pictures/wallpaper.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/wallpaper.png
chown hermione:hermione /home/hermione/Pictures/wallpaper.png
# Find LXDE config directory (e.g. LXDE, LXDE-pi)
PCMANFM_CONF_DIR=$(find /home/hermione/.config/pcmanfm -type d -name "LXDE*" | head -n 1)
CONFIG_FILE="$PCMANFM_CONF_DIR/desktop-items-0.conf"
WALLPAPER_PATH="/home/hermione/Pictures/wallpaper.png"
echo "Updating LXDE config in $CONFIG_FILE..."
mkdir -p "$(dirname "$CONFIG_FILE")"
if [ -f "$CONFIG_FILE" ]; then
sed -i "s|^wallpaper=.*|wallpaper=$WALLPAPER_PATH|g" "$CONFIG_FILE"
else
echo "[*]" > "$CONFIG_FILE"
echo "wallpaper=$WALLPAPER_PATH" >> "$CONFIG_FILE"
echo "wallpaper_mode=stretch" >> "$CONFIG_FILE"
fi
chown hermione:hermione "$CONFIG_FILE"
echo "Attempting to refresh desktop wallpaper..."
sudo -u hermione DISPLAY=:0 pcmanfm --reconfigure || echo "Desktop not running or not LXDE — wallpaper will apply on next login."
echo "Custom splash and wallpaper applied."
# ---------------------------------------------------------
# Final Message
# ---------------------------------------------------------
echo ""
echo "─────────────────────────────────────────────"
echo " Setup Complete"
echo "─────────────────────────────────────────────"
echo ""
echo "The TimeTurner is ready. But remember:"
echo "\"You must not be seen.\" Hermione Granger"
echo "Visual enchantments provided by Luna, Department of Temporal Engineering."
echo ""