Dotfiles/setup/tools
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
..
ansipa-proxmox-lxc.sh refactor(ansipa): dev_security-scan → dev_mon_clamscan, report to CheckMK; drop SMB scan pipeline 2026-07-02 13:49:18 +02:00
build.sh feat(archiso): embed every installer script at /installer, with an offline repo snapshot 2026-07-29 19:16:45 +02:00
freeipa-image.sh refactor(modules): move plymouth into apps/, retire freeipa-image to tools/ 2026-06-26 13:30:03 +02:00
generate-answerfile.sh feat(archiso): support fully bare Arch installs and fix greetd/DM conflicts 2026-07-13 12:08:13 +02:00
generate-modules.sh refactor(setup): consolidate build/deploy tooling under setup/tools; docs 2026-07-02 13:09:18 +02:00
migrate-to-greetd.sh feat(greeter): cyberqueer ReGreet theme + wire greetd into installers 2026-07-04 13:37:30 +02:00
migrate-to-lightdm.sh feat(greeter): cyberqueer ReGreet theme + wire greetd into installers 2026-07-04 13:37:30 +02:00
passwordless-sudo.sh feat(setup/tools): add passwordless-sudo.sh toggle script 2026-07-09 09:55:54 +02:00
proxmox-lxc-gen.sh feat(tools): add proxmox-lxc-gen.sh — TUI wizard for LXC containers 2026-07-01 18:55:59 +02:00
set-regreet-background.sh fix(greetd): password-then-FIDO order; add ReGreet background tool 2026-07-09 00:13:19 +02:00
sync-modules.sh refactor(tools): move module generation tooling into setup/tools/ 2026-06-26 13:31:12 +02:00
wds-deploy.sh refactor(setup): consolidate build/deploy tooling under setup/tools; docs 2026-07-02 13:09:18 +02:00
write-usb.sh refactor(setup): consolidate build/deploy tooling under setup/tools; docs 2026-07-02 13:09:18 +02:00