Steam now offered in x86_64 installer. Fix up the rhvoice dictionary copy. A few minor cleanups. Rename pi images to more clearly show they support both Raspberry Pi 4 and 5.

This commit is contained in:
Storm Dragon
2026-06-23 19:40:06 -04:00
parent 426069f36a
commit 5ec1d7727d
6 changed files with 287 additions and 60 deletions
@@ -24,6 +24,7 @@ timezone=""
enableSsh="no" # "yes" or "no"
installLinuxGameManager="no" # "yes" or "no"
installAudiogameManager="no" # "yes" or "no"
installSteam="no" # "yes" or "no"
autoLoginUser="" # User to auto-login for desktop environments
minHomePartitionMiB=1024
errorCount=0
@@ -54,6 +55,7 @@ log_info() {
echo "$*" | tee -a "$logFile"
}
# shellcheck disable=SC2329 # Invoked by the ERR trap after pre-install prompts finish.
handle_unexpected_failure() {
local exitCode="$1"
@@ -1157,6 +1159,17 @@ gather_system_info() {
installAudiogameManager="no"
log_info "Audiogame Manager will not be installed"
fi
echo ""
echo "Install Steam? [y/N]:"
read -r steamChoice
if [[ "$steamChoice" =~ ^[Yy]$ ]]; then
installSteam="yes"
log_info "Steam will be installed"
else
installSteam="no"
log_info "Steam will not be installed"
fi
fi
# SSH configuration
@@ -1209,6 +1222,11 @@ gather_system_info() {
echo " Desktop: $desktopEnvironment"
fi
echo " SSH enabled: $enableSsh"
if [[ "$hasDesktop" == true ]]; then
echo " linux-game-manager: $installLinuxGameManager"
echo " audiogame-manager: $installAudiogameManager"
echo " Steam: $installSteam"
fi
echo " Timezone: $timezone"
echo ""
echo "Press Enter to continue with installation..."
@@ -1253,6 +1271,34 @@ refresh_package_sources() {
return 0
}
enable_multilib_repo() {
local pacmanConf="$1"
if [[ ! -f "$pacmanConf" ]]; then
log_error "Pacman config not found: $pacmanConf"
return 1
fi
log_info "Enabling multilib repository in $pacmanConf"
sed -i \
-e 's/^#\[multilib\]$/[multilib]/' \
-e '/^\[multilib\]$/,/^\[/ s/^#Include = \/etc\/pacman.d\/mirrorlist$/Include = \/etc\/pacman.d\/mirrorlist/' \
"$pacmanConf"
}
copy_rhvoice_english_fixes() {
local sourceDir="/etc/RHVoice/dicts/English"
local targetDir="$mountPoint/etc/RHVoice/dicts/English"
if [[ -d "$sourceDir" ]]; then
log_info "Installing RHVoice English dictionary fixes"
mkdir -p "$targetDir"
cp -a "$sourceDir/." "$targetDir/"
else
log_warning "RHVoice English dictionary fixes not found at $sourceDir"
fi
}
install_base_system() {
log_info "=== Installing Base System ==="
@@ -1294,6 +1340,11 @@ install_base_system() {
shopt -u nullglob
fi
if [[ "$installSteam" == "yes" ]]; then
enable_multilib_repo /etc/pacman.conf
enable_multilib_repo "$mountPoint/etc/pacman.conf"
fi
# Define package groups
local basePackages=(
base base-devel linux linux-firmware
@@ -1335,6 +1386,9 @@ install_base_system() {
case "$desktopEnvironment" in
*)
allPackages+=(xlibre-xserver xlibre-input-libinput nodm-dgw brave-bin)
if [[ "$installSteam" == "yes" ]]; then
allPackages+=(steam)
fi
;;&
i3)
allPackages+=(i3-wm orca python-psutil lxterminal pluma)
@@ -1367,6 +1421,8 @@ install_base_system() {
return 1
fi
copy_rhvoice_english_fixes
# Generate or preserve fstab
if [[ "$useExistingMount" == true ]]; then
if [[ -s "$mountPoint/etc/fstab" ]]; then