From b4d0aec647e4e92f6cb1397cfcffaf3a5ccac2bb Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 24 Jun 2026 09:26:15 +0200 Subject: [PATCH] feat(setup): wire mail-notmuch and caldav-sync into TUI installers + answerfile Two fully-featured module scripts already existed under optional-Modules/apps/ (mail-notmuch.sh and caldav-sync.sh) but were never surfaced in the installer UI, so users had no way to select them during setup. Changes across three files: simple-install.sh - count_steps(): added entries for mail-notmuch and caldav-sync so the [N/total] progress counter stays accurate; also back-filled 13 other apps (gimp, inkscape, krita, ardour, audacity, lmms, mixxx, cecilia, kdenlive, openshot, shotcut, anti-malware, timeshift) that were already in the checklist but missing from count_steps, causing the total to be wrong. - Checklist: added both entries under the CLI Tools header, directly after himalaya, with a human-readable description of the stack each installs. - Run section: added the conditional run_module calls so the modules actually execute when selected. tui-install.sh (dialog-based TUI, same three locations as above) - count_steps(): added mail-notmuch and caldav-sync. - Checklist: added both entries with matching descriptions. - Run section: added the conditional run_module calls. generate-answerfile.sh - Added both entries to the dialog checklist so the JSON answerfile generator (used for unattended / ISO-embedded installs) can also select them, keeping the answerfile schema in sync with the interactive TUIs. Co-Authored-By: Claude Sonnet 4.6 --- setup/generate-answerfile.sh | 2 ++ setup/simple-install.sh | 19 +++++++++++++++++++ setup/tui-install.sh | 6 ++++++ 3 files changed, 27 insertions(+) diff --git a/setup/generate-answerfile.sh b/setup/generate-answerfile.sh index 866108d..b9a1941 100644 --- a/setup/generate-answerfile.sh +++ b/setup/generate-answerfile.sh @@ -224,6 +224,8 @@ if [[ "$AF_RUN_TUI" == "true" ]]; then "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ "himalaya" "Himalaya terminal email client (AUR)" off \ + "mail-notmuch" "Mail (notmuch) isync · msmtp · notmuch · alot stack" off \ + "caldav-sync" "CalDAV Sync vdirsyncer · khal calendar sync" off \ "gnuplot" "Gnuplot scientific plotting" off \ "blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \ "toot" "toot Mastodon CLI client (AUR)" off \ diff --git a/setup/simple-install.sh b/setup/simple-install.sh index f52bcfe..0b397db 100755 --- a/setup/simple-install.sh +++ b/setup/simple-install.sh @@ -360,6 +360,21 @@ count_steps() { [[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"xournal"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"gimp"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"inkscape"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"krita"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"ardour"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"audacity"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"lmms"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"mixxx"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"cecilia"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"kdenlive"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"openshot"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"shotcut"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"mail-notmuch"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"caldav-sync"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -501,6 +516,8 @@ else \ "" "CLI Tools" header \ "himalaya" "Himalaya terminal email client (AUR)" off \ + "mail-notmuch" "Mail (notmuch) isync · msmtp · notmuch · alot stack" off \ + "caldav-sync" "CalDAV Sync vdirsyncer · khal calendar sync" off \ "gnuplot" "Gnuplot scientific plotting" off \ "blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \ "toot" "toot Mastodon CLI client (AUR)" off \ @@ -653,6 +670,8 @@ fi [[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" +[[ "$SELECTED_APPS" == *"mail-notmuch"* ]] && run_module "Mail (notmuch)" "$APPS/mail-notmuch.sh" +[[ "$SELECTED_APPS" == *"caldav-sync"* ]] && run_module "CalDAV Sync" "$APPS/caldav-sync.sh" [[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" [[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh" [[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh" diff --git a/setup/tui-install.sh b/setup/tui-install.sh index e3c9d1c..aecdae7 100755 --- a/setup/tui-install.sh +++ b/setup/tui-install.sh @@ -185,6 +185,8 @@ count_steps() { [[ "$a" == *"shotcut"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 )) [[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"mail-notmuch"* ]] && TOTAL=$(( TOTAL + 1 )) + [[ "$a" == *"caldav-sync"* ]] && TOTAL=$(( TOTAL + 1 )) } # ── Answerfile ──────────────────────────────────────────────────────────────── @@ -342,6 +344,8 @@ else "networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \ "disk-recovery" "Disk Recovery ddrescue · f3" off \ "himalaya" "Himalaya terminal email client (AUR)" off \ + "mail-notmuch" "Mail (notmuch) isync · msmtp · notmuch · alot stack" off \ + "caldav-sync" "CalDAV Sync vdirsyncer · khal calendar sync" off \ "gnuplot" "Gnuplot scientific plotting" off \ "blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \ "toot" "toot Mastodon CLI client (AUR)" off \ @@ -538,6 +542,8 @@ fi [[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh" [[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh" [[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh" +[[ "$SELECTED_APPS" == *"mail-notmuch"* ]] && run_module "Mail (notmuch)" "$APPS/mail-notmuch.sh" +[[ "$SELECTED_APPS" == *"caldav-sync"* ]] && run_module "CalDAV Sync" "$APPS/caldav-sync.sh" [[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh" [[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh" [[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh"