Dotfiles/setup/modules/optional-Modules/apps
Amir Alexander Abdelbaki 96f15c82af feat(archiso): embed every installer script at /installer, with an offline repo snapshot
The ISO carried only the three entry scripts launch.sh dispatches to;
tui-install.sh, its modules/ and the desktopenvs/ configs it deploys existed
solely inside the repo the installer clones at run time. A live environment
without working networking therefore ran the whole install and only failed at
the very last step, on a missing /home/<user>/Dotfiles/setup/tui-install.sh.

build.sh now embeds the entire setup/ tree at /installer (so every installer
script is on the ISO), plus a full repo snapshot — .git included, so a seeded
checkout is a real repo — at /installer/dotfiles. launch.sh moves there too
and the overlay/motd/docs follow; profiledef's file_permissions list is
repointed, which matters because mkarchiso hard-errors on an entry whose path
does not exist.

Tree resolution in both installers is now: an existing checkout, else a fresh
clone (online installs still get what is newest), else the ISO snapshot. Each
candidate is accepted only if it actually contains setup/tui-install.sh — the
old check was a bare `-d .git`, which any leftover or half-finished checkout
satisfied.

Sudo can no longer stop the install to ask for a password:
  - before the chroot hands over to the TUI, the temporary NOPASSWD drop-in is
    proven with `sudo -n true` and `sudo -n -v` (both forms modules rely on).
    A rule that didn't apply now skips the TUI instead of stalling forever on a
    hidden prompt, and the drop-in is removed on that path too rather than
    being left behind as permanent passwordless sudo;
  - tui-install.sh's root sudo shim moves to the top of the file, ahead of the
    require_jq() bootstrap that shells out through sudo, so running it as root
    straight from /installer never needs a real sudo binary.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 19:16:45 +02:00
..
anti-malware.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
ardour.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
audacity.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
blender-povray.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
butter.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
caldav-sync.sh fix(modules): guard remaining interactive prompts for unattended installs 2026-06-27 02:09:04 +02:00
cecilia.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
chromium.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
claude.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
cockpit.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
codeblocks.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
croc.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
db-clients.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
disk-recovery.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
docker.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
doom.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
ffmpeg.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
firefox-browser.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
freeipa-client.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
freeipa-server.sh fix(modules): guard remaining interactive prompts for unattended installs 2026-06-27 02:09:04 +02:00
geany.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
gimp.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
gnuplot.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
greetd-regreet.sh feat(greeter): cyberqueer ReGreet theme + wire greetd into installers 2026-07-04 13:37:30 +02:00
himalaya.sh fix(installer): repair broken package lists and make user-timer setup non-fatal 2026-06-26 18:20:21 +02:00
imagemagick.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
inkscape.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
k8s.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
kate.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
kdenlive.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
krita.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
lamco-rdp-server.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
librewolf.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
lightdm.sh feat(greeter): switch to greetd+ReGreet (Wayland), fix FIDO/scaling/wallpaper 2026-07-04 03:16:12 +02:00
llama-cpp.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
lmms.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
localsend.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
localtunnel.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
ly.sh feat(greeter): switch HyprLua to LightDM, fix Plymouth splash, extract ly module 2026-07-04 01:53:37 +02:00
mail-notmuch.sh fix(modules): guard remaining interactive prompts for unattended installs 2026-06-27 02:09:04 +02:00
min-browser.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
mixxx.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
mysql.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
networking-cli.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
nyxt.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
obsidian.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
ollama.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
onlyoffice.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
open-webui.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
openarena.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
opendeck.sh fix(installer): install OpenDeck from AUR instead of Flatpak 2026-06-26 16:04:13 +02:00
openshot.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
plymouth-custom.sh feat(greeter): switch HyprLua to LightDM, fix Plymouth splash, extract ly module 2026-07-04 01:53:37 +02:00
plymouth.sh feat(archiso): embed every installer script at /installer, with an offline repo snapshot 2026-07-29 19:16:45 +02:00
podman.sh chore: add inline comments across all modules and configs 2026-06-25 13:07:06 +02:00
prism.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
productivity.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
python.sh fix(installer): make the unattended module path non-interactive 2026-06-27 01:15:43 +02:00
qemu.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
rdp-client.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
rnote.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
sauerbraten.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
shotcut.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
sox.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
spotify.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
ssh-server.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
steam.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
stuntrally.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
tangent-notes.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
tetris.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
timeshift.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
tlp.sh fix(modules): make service/session ops chroot-safe to prevent install aborts 2026-06-26 20:58:37 +02:00
toot.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
vesktop.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
vintagestory.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
vscodium.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
wireshark.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
wprs.sh fix(installer): root-owned ~/.config, wrong logging path, flatpak system scope 2026-06-26 18:27:04 +02:00
xournal.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
yt-dlp.sh feat(installer): add structured logging to all modules and installers 2026-05-22 01:44:31 +02:00
zed-ide.sh feat(installer): global flatpaks, drop redundant TUI hostname, upfront passwords 2026-06-26 18:40:49 +02:00
zen-browser.sh fix(modules): correct wrong package names/sources found by static audit 2026-07-02 12:55:59 +02:00
zfs.sh fix(installer): root-owned ~/.config, wrong logging path, flatpak system scope 2026-06-26 18:27:04 +02:00