From 69f5b3c13b15ba4580ca52f5ae1398fa43156a75 Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 22 May 2026 00:17:17 +0200 Subject: [PATCH] feat(modules): add sauerbraten and stuntrally modules sauerbraten: open-source Cube 2 FPS (pacman) stuntrally: rally racing game via Flatpak (io.github.stuntrally.StuntRally3) Co-Authored-By: Claude Sonnet 4.6 --- setup/install-modules.sh | 8 ++++++++ setup/modules/optional-Modules/apps/sauerbraten.sh | 3 +++ setup/modules/optional-Modules/apps/stuntrally.sh | 3 +++ setup/simple-install.sh | 8 +++++++- setup/tui-install.sh | 8 ++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 setup/modules/optional-Modules/apps/sauerbraten.sh create mode 100644 setup/modules/optional-Modules/apps/stuntrally.sh diff --git a/setup/install-modules.sh b/setup/install-modules.sh index c807201..fa9a891 100755 --- a/setup/install-modules.sh +++ b/setup/install-modules.sh @@ -119,6 +119,8 @@ count_steps() { [[ "$sel" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"sauerbraten"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$sel" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$sel" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -207,6 +209,8 @@ SELECTED=$(dialog --backtitle "$BACKTITLE" \ "openarena" "OpenArena open-source Quake III Arena" off \ "tetris" "Tetris CLI bastet · vitetris" off \ "doom" "Doom Chocolate Doom + Freedoom data" off \ + "sauerbraten" "Sauerbraten open-source FPS (Cube 2)" off \ + "stuntrally" "Stunt Rally rally racing game (Flatpak)" off \ "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ @@ -275,6 +279,8 @@ SUMMARY="" [[ "$SELECTED" == *"openarena"* ]] && SUMMARY+=" ✦ OpenArena\n" [[ "$SELECTED" == *"tetris"* ]] && SUMMARY+=" ✦ Tetris CLI (bastet · vitetris)\n" [[ "$SELECTED" == *"doom"* ]] && SUMMARY+=" ✦ Doom\n" +[[ "$SELECTED" == *"sauerbraten"* ]] && SUMMARY+=" ✦ Sauerbraten\n" +[[ "$SELECTED" == *"stuntrally"* ]] && SUMMARY+=" ✦ Stunt Rally\n" [[ "$SELECTED" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" @@ -345,6 +351,8 @@ DE_DIR="$MODULES/Desktop-Environments" [[ "$SELECTED" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" [[ "$SELECTED" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" [[ "$SELECTED" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" +[[ "$SELECTED" == *"sauerbraten"* ]] && run_module "Sauerbraten" "$APPS/sauerbraten.sh" +[[ "$SELECTED" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh" [[ "$SELECTED" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" diff --git a/setup/modules/optional-Modules/apps/sauerbraten.sh b/setup/modules/optional-Modules/apps/sauerbraten.sh new file mode 100644 index 0000000..d339a7c --- /dev/null +++ b/setup/modules/optional-Modules/apps/sauerbraten.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +sudo pacman -S --noconfirm --needed sauerbraten diff --git a/setup/modules/optional-Modules/apps/stuntrally.sh b/setup/modules/optional-Modules/apps/stuntrally.sh new file mode 100644 index 0000000..b7961e7 --- /dev/null +++ b/setup/modules/optional-Modules/apps/stuntrally.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -euo pipefail +flatpak install -y flathub io.github.stuntrally.StuntRally3 diff --git a/setup/simple-install.sh b/setup/simple-install.sh index 78f0796..f5f9ec5 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -328,6 +328,8 @@ count_steps() { [[ "$a" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"sauerbraten"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -515,6 +517,8 @@ else "openarena" "OpenArena open-source Quake III Arena" off \ "tetris" "Tetris CLI bastet · vitetris" off \ "doom" "Doom Chocolate Doom + Freedoom data" off \ + "sauerbraten" "Sauerbraten open-source FPS (Cube 2)" off \ + "stuntrally" "Stunt Rally rally racing game (Flatpak)" off \ \ "" "File Transfer & Office" header \ "localsend" "LocalSend LAN file transfer (AUR)" off \ @@ -595,7 +599,7 @@ if ! $ANSWERFILE_MODE; then for _app in ollama llama-cpp open-webui claude networking-cli disk-recovery \ himalaya gnuplot blender-povray toot db-clients mysql productivity \ yt-dlp sox imagemagick ffmpeg localtunnel butter tlp steam vesktop \ - spotify prism vintagestory openarena tetris doom localsend croc onlyoffice \ + spotify prism vintagestory openarena tetris doom sauerbraten stuntrally localsend croc onlyoffice \ gimp inkscape krita xournal ardour audacity lmms mixxx cecilia \ kdenlive openshot shotcut \ anti-malware timeshift wireshark k8s \ @@ -662,6 +666,8 @@ fi [[ "$SELECTED_APPS" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" [[ "$SELECTED_APPS" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" [[ "$SELECTED_APPS" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" +[[ "$SELECTED_APPS" == *"sauerbraten"* ]] && run_module "Sauerbraten" "$APPS/sauerbraten.sh" +[[ "$SELECTED_APPS" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh" [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index 7b27788..721d17e 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -140,6 +140,8 @@ count_steps() { [[ "$a" == *"openarena"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"tetris"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"doom"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"sauerbraten"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -354,6 +356,8 @@ else "openarena" "OpenArena open-source Quake III Arena" off \ "tetris" "Tetris CLI bastet · vitetris" off \ "doom" "Doom Chocolate Doom + Freedoom data" off \ + "sauerbraten" "Sauerbraten open-source FPS (Cube 2)" off \ + "stuntrally" "Stunt Rally rally racing game (Flatpak)" off \ "localsend" "LocalSend LAN file transfer (AUR)" off \ "croc" "croc cross-platform file transfer" off \ "onlyoffice" "OnlyOffice office suite (AUR)" off \ @@ -443,6 +447,8 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"openarena"* ]] && SUMMARY+=" ✦ OpenArena\n" [[ "$SELECTED_APPS" == *"tetris"* ]] && SUMMARY+=" ✦ Tetris CLI (bastet · vitetris)\n" [[ "$SELECTED_APPS" == *"doom"* ]] && SUMMARY+=" ✦ Doom\n" + [[ "$SELECTED_APPS" == *"sauerbraten"* ]] && SUMMARY+=" ✦ Sauerbraten\n" + [[ "$SELECTED_APPS" == *"stuntrally"* ]] && SUMMARY+=" ✦ Stunt Rally\n" [[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n" [[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n" @@ -545,6 +551,8 @@ fi [[ "$SELECTED_APPS" == *"openarena"* ]] && run_module "OpenArena" "$APPS/openarena.sh" [[ "$SELECTED_APPS" == *"tetris"* ]] && run_module "Tetris CLI" "$APPS/tetris.sh" [[ "$SELECTED_APPS" == *"doom"* ]] && run_module "Doom" "$APPS/doom.sh" +[[ "$SELECTED_APPS" == *"sauerbraten"* ]] && run_module "Sauerbraten" "$APPS/sauerbraten.sh" +[[ "$SELECTED_APPS" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh" [[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh" [[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh" [[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh"