From 5647852ee623b3f41aedb47a8d88606190dfa6de Mon Sep 17 00:00:00 2001 From: The_miro Date: Fri, 26 Jun 2026 13:30:03 +0200 Subject: [PATCH] refactor(modules): move plymouth into apps/, retire freeipa-image to tools/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit apps/ is for modules that install software during setup. freeipa-image is support tooling for the ansipa controller, run manually before installation, so it has no place in the TUI module picker. - git mv optional-Modules/plymouth.sh → apps/plymouth.sh - git mv apps/freeipa-image.sh → setup/tools/freeipa-image.sh - modules.conf: add plymouth (default=on, excludes=plymouth-custom); remove freeipa-image - generate-modules.sh: regenerate all sentinel regions (81 → 81 active modules, freeipa-image dropped from checklist/summary/dispatch, plymouth added with on default, conflict block gains plymouth ↔ plymouth-custom pair) Co-Authored-By: Claude Sonnet 4.6 --- docs/md/modules.md | 2 +- setup/generate-answerfile.sh | 2 +- setup/modules.conf | 2 +- .../modules/optional-Modules/{ => apps}/plymouth.sh | 0 .../optional-Modules/apps => tools}/freeipa-image.sh | 0 setup/tui-install.sh | 12 ++++++++---- 6 files changed, 11 insertions(+), 7 deletions(-) rename setup/modules/optional-Modules/{ => apps}/plymouth.sh (100%) rename setup/{modules/optional-Modules/apps => tools}/freeipa-image.sh (100%) diff --git a/docs/md/modules.md b/docs/md/modules.md index b7c38c2..bacc6bd 100644 --- a/docs/md/modules.md +++ b/docs/md/modules.md @@ -144,6 +144,7 @@ bash ~/Dotfiles/setup/install-modules.sh | `timeshift` | system snapshot and backup with autosnap | | `zfs` | zfs-dkms kernel module | | `wprs` | Wayland proxy for remote sessions (wprs-git, AUR) | +| `plymouth` | boot splash — bundled skull logo and spinner | | `plymouth-custom` | boot splash with a user-supplied image | @@ -267,7 +268,6 @@ bash ~/Dotfiles/setup/install-modules.sh |----|-------------| | `freeipa-client` | sssd and ipa-client-install with auto-enrollment | | `freeipa-server` | interactive FreeIPA server setup with client generator | -| `freeipa-image` | OCI/LXC/Proxmox image builder with Keycloak | --- diff --git a/setup/generate-answerfile.sh b/setup/generate-answerfile.sh index b07a75e..2bf878b 100644 --- a/setup/generate-answerfile.sh +++ b/setup/generate-answerfile.sh @@ -252,6 +252,7 @@ if [[ "$AF_RUN_TUI" == "true" ]]; then "timeshift" "timeshift system snapshot and backup with autosnap" off \ "zfs" "zfs zfs-dkms kernel module" off \ "wprs" "wprs Wayland proxy for remote sessions (wprs-git, AUR)" off \ + "plymouth" "plymouth boot splash — bundled skull logo and spinner" on \ "plymouth-custom" "plymouth-custom boot splash with a user-supplied image" off \ "steam" "steam Steam gaming platform" off \ "vesktop" "vesktop Discord client with Vencord theme" off \ @@ -299,7 +300,6 @@ if [[ "$AF_RUN_TUI" == "true" ]]; then "qemu" "qemu full QEMU/KVM stack with virt-manager" off \ "freeipa-client" "freeipa-client sssd and ipa-client-install with auto-enrollment" off \ "freeipa-server" "freeipa-server interactive FreeIPA server setup with client generator" off \ - "freeipa-image" "freeipa-image OCI/LXC/Proxmox image builder with Keycloak" off \ 3>&1 1>&2 2>&3) || AF_APPS="" # END GENERATED MODULES: module-checklist diff --git a/setup/modules.conf b/setup/modules.conf index cb0fe76..8a63a52 100644 --- a/setup/modules.conf +++ b/setup/modules.conf @@ -49,6 +49,7 @@ localtunnel|system|expose localhost over a public URL|off| timeshift|system|system snapshot and backup with autosnap|off| zfs|system|zfs-dkms kernel module|off| wprs|system|Wayland proxy for remote sessions (wprs-git, AUR)|off| +plymouth|system|boot splash — bundled skull logo and spinner|on|plymouth-custom plymouth-custom|system|boot splash with a user-supplied image|off|plymouth # ── Gaming ──────────────────────────────────────────────────────────────────── @@ -116,4 +117,3 @@ qemu|virt|full QEMU/KVM stack with virt-manager|off| # ── Identity & Infrastructure ───────────────────────────────────────────────── freeipa-client|infra|sssd and ipa-client-install with auto-enrollment|off| freeipa-server|infra|interactive FreeIPA server setup with client generator|off| -freeipa-image|infra|OCI/LXC/Proxmox image builder with Keycloak|off| diff --git a/setup/modules/optional-Modules/plymouth.sh b/setup/modules/optional-Modules/apps/plymouth.sh similarity index 100% rename from setup/modules/optional-Modules/plymouth.sh rename to setup/modules/optional-Modules/apps/plymouth.sh diff --git a/setup/modules/optional-Modules/apps/freeipa-image.sh b/setup/tools/freeipa-image.sh similarity index 100% rename from setup/modules/optional-Modules/apps/freeipa-image.sh rename to setup/tools/freeipa-image.sh diff --git a/setup/tui-install.sh b/setup/tui-install.sh index a3ec3fb..d6bad71 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -195,6 +195,7 @@ count_steps() { [[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"zfs"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"wprs"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"plymouth"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"plymouth-custom"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"steam"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"vesktop"* ]] && TOTAL=$(( TOTAL + 1 )) @@ -242,7 +243,6 @@ count_steps() { [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"freeipa-client"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"freeipa-server"* ]] && TOTAL=$(( TOTAL + 1 )) - [[ "$a" == *"freeipa-image"* ]] && TOTAL=$(( TOTAL + 1 )) # END GENERATED MODULES: module-counters } @@ -480,6 +480,7 @@ else "timeshift" "timeshift system snapshot and backup with autosnap" off \ "zfs" "zfs zfs-dkms kernel module" off \ "wprs" "wprs Wayland proxy for remote sessions (wprs-git, AUR)" off \ + "plymouth" "plymouth boot splash — bundled skull logo and spinner" on \ "plymouth-custom" "plymouth-custom boot splash with a user-supplied image" off \ "steam" "steam Steam gaming platform" off \ "vesktop" "vesktop Discord client with Vencord theme" off \ @@ -527,7 +528,6 @@ else "qemu" "qemu full QEMU/KVM stack with virt-manager" off \ "freeipa-client" "freeipa-client sssd and ipa-client-install with auto-enrollment" off \ "freeipa-server" "freeipa-server interactive FreeIPA server setup with client generator" off \ - "freeipa-image" "freeipa-image OCI/LXC/Proxmox image builder with Keycloak" off \ 3>&1 1>&2 2>&3) || SELECTED_APPS="" # END GENERATED MODULES: module-checklist fi @@ -594,6 +594,7 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"timeshift"* ]] && SUMMARY+=" ✦ timeshift\n" [[ "$SELECTED_APPS" == *"zfs"* ]] && SUMMARY+=" ✦ zfs\n" [[ "$SELECTED_APPS" == *"wprs"* ]] && SUMMARY+=" ✦ wprs\n" + [[ "$SELECTED_APPS" == *"plymouth"* ]] && SUMMARY+=" ✦ plymouth\n" [[ "$SELECTED_APPS" == *"plymouth-custom"* ]] && SUMMARY+=" ✦ plymouth-custom\n" [[ "$SELECTED_APPS" == *"steam"* ]] && SUMMARY+=" ✦ steam\n" [[ "$SELECTED_APPS" == *"vesktop"* ]] && SUMMARY+=" ✦ vesktop\n" @@ -641,7 +642,6 @@ if ! $ANSWERFILE_MODE; then [[ "$SELECTED_APPS" == *"qemu"* ]] && SUMMARY+=" ✦ qemu\n" [[ "$SELECTED_APPS" == *"freeipa-client"* ]] && SUMMARY+=" ✦ freeipa-client\n" [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && SUMMARY+=" ✦ freeipa-server\n" - [[ "$SELECTED_APPS" == *"freeipa-image"* ]] && SUMMARY+=" ✦ freeipa-image\n" # END GENERATED MODULES: module-summary fi @@ -687,6 +687,10 @@ fi # module script will be caught by run_module()'s error handling rather than # silently skipped — 'bash "$script"' will exit non-zero if the file is absent. # BEGIN GENERATED MODULES: module-conflicts +if [[ "$SELECTED_APPS" == *"plymouth"* && "$SELECTED_APPS" == *"plymouth-custom"* ]]; then + warn "plymouth and plymouth-custom are mutually exclusive — skipping plymouth-custom" + SELECTED_APPS="${SELECTED_APPS/plymouth-custom/}" +fi if [[ "$SELECTED_APPS" == *"plymouth-custom"* && "$SELECTED_APPS" == *"plymouth"* ]]; then warn "plymouth-custom and plymouth are mutually exclusive — skipping plymouth" SELECTED_APPS="${SELECTED_APPS/plymouth/}" @@ -725,6 +729,7 @@ fi [[ "$SELECTED_APPS" == *"timeshift"* ]] && run_module "timeshift" "$APPS/timeshift.sh" [[ "$SELECTED_APPS" == *"zfs"* ]] && run_module "zfs" "$APPS/zfs.sh" [[ "$SELECTED_APPS" == *"wprs"* ]] && run_module "wprs" "$APPS/wprs.sh" +[[ "$SELECTED_APPS" == *"plymouth"* ]] && run_module "plymouth" "$APPS/plymouth.sh" [[ "$SELECTED_APPS" == *"plymouth-custom"* ]] && run_module "plymouth-custom" "$APPS/plymouth-custom.sh" [[ "$SELECTED_APPS" == *"steam"* ]] && run_module "steam" "$APPS/steam.sh" [[ "$SELECTED_APPS" == *"vesktop"* ]] && run_module "vesktop" "$APPS/vesktop.sh" @@ -772,7 +777,6 @@ fi [[ "$SELECTED_APPS" == *"qemu"* ]] && run_module "qemu" "$APPS/qemu.sh" [[ "$SELECTED_APPS" == *"freeipa-client"* ]] && run_module "freeipa-client" "$APPS/freeipa-client.sh" [[ "$SELECTED_APPS" == *"freeipa-server"* ]] && run_module "freeipa-server" "$APPS/freeipa-server.sh" -[[ "$SELECTED_APPS" == *"freeipa-image"* ]] && run_module "freeipa-image" "$APPS/freeipa-image.sh" # END GENERATED MODULES: module-dispatch # ── Colorway (final step) ─────────────────────────────────────────────────────