fix(modules): correct wrong package names/sources found by static audit

Statically audited every optional-module and DE script's package tokens
against the official repos, the AUR, and Flathub. Ten modules named a package
that does not exist at the source they used, so each would abort with "target
not found" (pacman), an AUR miss, or a Flathub 404:

Installed via pacman but AUR-only (switched to the yay AUR helper):
  - tetris:   bastet
  - doom:     chocolate-doom, freedoom
  - openarena:openarena
  - openshot: openshot
  - freeipa-client (module): oddjob — now optional via yay with a
    pam_mkhomedir fallback (matches freeipa-enroll.sh)

Wrong AUR/repo package names:
  - cecilia:      cecilia -> cecilia-git
  - productivity: python-jrnl -> jrnl (in the official repos)
  - localtunnel:  AUR fallback localtunnel -> nodejs-localtunnel

Wrong/absent Flatpak IDs:
  - zen-browser: io.github.zen_browser.zen -> app.zen_browser.zen
  - stuntrally:  io.github.stuntrally.StuntRally3 is not on Flathub at all;
    switch to the AUR stuntrally-bin (the actual Stunt Rally 3)

Verified all corrected names resolve (repo / AUR RPC / Flathub API). Modules
whose tokens are in the official repos and merely installed via yay (nyxt,
toot, llama-cpp — yay handles both sources) were left as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUhrcFU8J1Hnf7vNqNxZNi
feat/astal-menu
Amir Alexander Abdelbaki 2026-07-02 12:55:59 +02:00
parent be757fda5a
commit 5543194bec
10 changed files with 49 additions and 27 deletions

View File

@ -24,6 +24,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
# --answerclean All : answer "clean" to the "clean build dir?" prompt
# --noconfirm : suppress all remaining yay/makepkg confirmation prompts
log "Installing Cecilia (AUR)..."
yay -S --answerdiff None --answerclean All --noconfirm cecilia
# The AUR package is named cecilia-git (there is no plain "cecilia" in repos/AUR).
yay -S --answerdiff None --answerclean All --noconfirm --needed cecilia-git
log "Cecilia installed."

View File

@ -27,8 +27,10 @@ set -euo pipefail
# Load shared logging helpers from the dotfiles lib
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
# chocolate-doom: faithful vanilla Doom port; freedoom: free game data (playable without IWADs)
log "Installing Chocolate Doom and Freedoom data..."
sudo pacman -S --noconfirm --needed chocolate-doom freedoom
# chocolate-doom: faithful vanilla Doom port; freedoom: free game data (playable without IWADs).
# Both are AUR-only (not in the official repos), so install via the AUR helper —
# `pacman -S chocolate-doom freedoom` fails with "target not found".
log "Installing Chocolate Doom and Freedoom data (AUR)..."
yay -S --answerdiff None --answerclean All --noconfirm --needed chocolate-doom freedoom
log "Doom installed."

View File

@ -54,13 +54,24 @@ DEF_SERVER="freeipa.abdelbaki.eu"
# ── Packages ──────────────────────────────────────────────────────────────────
echo "[+] Installing FreeIPA client packages..."
# pacman (without sudo) because this script may be run as root by the TUI
# pacman (without sudo) because this script may be run as root by the TUI.
# Only sssd + Kerberos/LDAP tooling are in the official repos:
# sssd : provides NSS/PAM lookups against IPA LDAP + Kerberos
# cyrus-sasl-gssapi : GSSAPI mechanism; needed for LDAP binds with Kerberos tickets
# openldap : ldapsearch and other LDAP client utilities
# krb5 : Kerberos 5 runtime; kinit, klist, kdestroy
# oddjob : D-Bus service that runs pam_oddjob_mkhomedir on first login
pacman -S --noconfirm --needed sssd cyrus-sasl-gssapi openldap krb5 oddjob
pacman -S --noconfirm --needed sssd cyrus-sasl-gssapi openldap krb5
# oddjob (pam_oddjob_mkhomedir for on-login home creation) is AUR-only on Arch —
# `pacman -S oddjob` fails with "target not found". It is optional: pam_mkhomedir
# provides the same on-login home creation, so degrade gracefully if the AUR
# build is unavailable.
if command -v yay &>/dev/null; then
yay -S --noconfirm --needed oddjob 2>/dev/null \
|| echo "[!] oddjob AUR build failed — mkhomedir will fall back to pam_mkhomedir."
else
echo "[!] yay not found — skipping oddjob (mkhomedir falls back to pam_mkhomedir)."
fi
# freeipa-client provides ipa-client-install (the official FreeIPA enrolment
# tool). It is AUR-only on Arch; gracefully degrade if yay is absent.

View File

@ -14,6 +14,7 @@ if command -v npm &>/dev/null; then
npm install -g localtunnel
else
# --answerdiff None / --answerclean All suppress interactive PKGBUILD/clean prompts.
yay -S --answerdiff None --answerclean All --noconfirm localtunnel
# The AUR package is named nodejs-localtunnel (there is no plain "localtunnel").
yay -S --answerdiff None --answerclean All --noconfirm --needed nodejs-localtunnel
fi
log "LocalTunnel installed."

View File

@ -4,8 +4,9 @@ set -euo pipefail
# Load shared log/warn/skip helpers from the installer library.
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
log "Installing OpenArena..."
# OpenArena is a free, open-source FPS based on the Quake III Arena engine,
# available directly from the official Arch repositories.
sudo pacman -S --noconfirm --needed openarena
log "Installing OpenArena (AUR)..."
# OpenArena is a free, open-source FPS based on the Quake III Arena engine.
# It is AUR-only (not in the official repos), so install via the AUR helper —
# `pacman -S openarena` fails with "target not found".
yay -S --answerdiff None --answerclean All --noconfirm --needed openarena
log "OpenArena installed."

View File

@ -4,7 +4,9 @@ set -euo pipefail
# Load shared log/warn/skip helpers from the installer library.
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
log "Installing OpenShot..."
# OpenShot is a non-linear video editor available in the official Arch repos.
sudo pacman -S --noconfirm --needed openshot
log "Installing OpenShot (AUR)..."
# OpenShot is a non-linear video editor. It is AUR-only (no longer in the
# official repos), so install via the AUR helper — `pacman -S openshot`
# fails with "target not found".
yay -S --answerdiff None --answerclean All --noconfirm --needed openshot
log "OpenShot installed."

View File

@ -11,5 +11,7 @@ sudo pacman -S --noconfirm --needed task
log "Installing watson and jrnl (AUR)..."
# watson: time-tracker that logs work sessions to JSON; python-jrnl: encrypted CLI journal.
# Both are Python-based tools only available via the AUR on Arch.
yay -S --answerdiff None --answerclean All --noconfirm watson python-jrnl
# jrnl is the correct package name (in the official repos); "python-jrnl" exists
# in neither the repos nor the AUR. watson is AUR-only. yay handles both sources.
yay -S --answerdiff None --answerclean All --noconfirm --needed watson jrnl
log "Productivity tools installed."

View File

@ -2,8 +2,11 @@
set -euo pipefail
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
log "Installing Stunt Rally (Flatpak)..."
ensure_flatpak
sudo flatpak install --system -y flathub io.github.stuntrally.StuntRally3
apply_flatpak_theme "io.github.stuntrally.StuntRally3"
log "Installing Stunt Rally (AUR)..."
# Stunt Rally 3 is NOT on Flathub (the previously-used
# io.github.stuntrally.StuntRally3 flatpak ID does not exist there — only the
# older org.tuxfamily.StuntRally v2 is published). Install the current release
# from the AUR instead. stuntrally-bin is the pre-built package (no long source
# compile); stuntrally-git builds from source.
yay -S --answerdiff None --answerclean All --noconfirm --needed stuntrally-bin
log "Stunt Rally installed."

View File

@ -2,9 +2,8 @@
set -euo pipefail
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
log "Installing bastet (Tetris CLI)..."
sudo pacman -S --noconfirm --needed bastet
log "Installing vitetris (AUR)..."
yay -S --answerdiff None --answerclean All --noconfirm vitetris
log "Installing bastet and vitetris (AUR)..."
# Both bastet and vitetris are AUR-only — they are NOT in the official repos,
# so `pacman -S bastet` fails with "target not found". Install via the AUR helper.
yay -S --answerdiff None --answerclean All --noconfirm --needed bastet vitetris
log "Tetris CLI tools installed."

View File

@ -4,6 +4,6 @@ source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
log "Installing Zen Browser (Flatpak)..."
ensure_flatpak
sudo flatpak install --system -y flathub io.github.zen_browser.zen
apply_flatpak_theme "io.github.zen_browser.zen"
sudo flatpak install --system -y flathub app.zen_browser.zen
apply_flatpak_theme "app.zen_browser.zen"
log "Zen Browser installed."