Skip to content

One-line install, live install progress, and hardened apt calls - #9

Merged
mayukh4 merged 1 commit into
mainfrom
claude/magical-fermat-8rummf
Nov 9, 2026
Merged

mayukh4 merged 1 commit into
mainfrom
claude/magical-fermat-8rummf

Conversation

@mayukh4

@mayukh4 mayukh4 commented Nov 9, 2026

Copy link
Copy Markdown
Owner

Summary

One-line install + unattended flags

  • Both scripts now work with curl -fsSL … | bash. When the script is piped in, stdin is the script itself, so prompts now read from /dev/tty. Before this, a bare read would have swallowed the rest of the script.
  • New flags: --de xfce|lxqt|mate|kde, --wine/--no-wine (desktop), --hacs/--no-hacs (HA), -y, --help. With -y, or with no terminal at all, every choice uses the defaults.

Install no longer looks frozen (refs #7)

  • The spinner shows elapsed time and the latest apt log line (Get:12 … [74.1 MB], Unpacking …). After 5 minutes with no log output it prints a warning once, with what to do next.
  • Every apt call now has Acquire::Retries=3, 30 s HTTP timeouts, DPkg::Lock::Timeout=300, confdef+confold, and stdin from /dev/null. A stalled mirror now retries or fails, and no prompt can block the install.
  • The Wine step only removes wine-stable when it is actually installed, and uses apt-get. It used to run the pkg wrapper unconditionally.

Other fixes

  • Both scripts refuse to run outside Termux, and the wake lock is released on any exit, including Ctrl+C.
  • The desktop script warns on non-arm64 devices and on low storage.
  • HA script:
    • Uses the real install status: dpkg -s also matches removed-but-not-purged packages.
    • The network check no longer depends on pinging google.com, which is blocked in some regions and when ICMP is filtered.
    • stop-homeassistant.sh uses $PREFIX and kills only the hass process.

Docs / repo

  • README:
    • Quick-start one-liner at the top and a keyword-rich intro.
    • Section on unattended flags.
    • "Install looks stuck" troubleshooting entry.
    • Fix for the Android 12+ phantom process killer.
    • FAQ, CI badge, and the unshittify.dev badge (Listed on unshittify.dev (no action needed) #8).
  • Chinese README updated to match.
  • The bug template now asks which step the install stopped at and whether Wine was chosen.
  • CI runs shellcheck at warning level and adds a CLI smoke test (help, bad flags, refuses to run outside Termux).

Testing

  • bash -n and shellcheck --severity=warning are clean on both scripts.
  • The CLI smoke test passes locally. A piped run (cat script | bash -s -- …) parses flags and stops at the Termux check.
  • Spinner tested against a simulated apt log: live line, success, optional failure and required failure all render correctly.
  • setup_environment tested with --de kde --wine under no TTY: picks KDE, Wine, 11 steps.
  • Not run on a real device. Please do one end-to-end run on a phone before merging.

Closes #8. Refs #7: it is not confirmed fixed, because the report has no log.


Generated by Claude Code

- One-line install: both scripts now work piped from curl. Prompts read
  from /dev/tty (stdin is the script itself when piped), and new flags
  (--de, --wine/--no-wine, --hacs/--no-hacs, -y, --help) allow fully
  unattended installs.
- Spinner shows elapsed time and the latest apt log line, and warns once
  if nothing moves for 5 minutes, so a long download no longer looks like
  a hang (refs #7).
- Every apt call gets network retries/timeouts, a dpkg lock timeout and
  confdef/confold, and stdin from /dev/null so nothing can block on a
  prompt.
- Wine step only removes wine-stable when it is installed, via apt-get
  instead of the pkg wrapper.
- Desktop script warns on non-arm64 and low storage; both scripts refuse
  to run outside Termux; wake lock is released on any exit or Ctrl+C.
- HA script: real install-status check (dpkg -s matches removed
  packages), network check that does not depend on pinging google.com,
  stop script uses $PREFIX and only kills the hass process.
- CI: shellcheck at warning level plus a CLI smoke test.
- README: quick-start one-liner, unattended flags, "install looks stuck"
  and Android 12+ phantom process killer troubleshooting, FAQ,
  unshittify.dev badge (#8). Chinese README updated to match.
- Bug template asks which step it stopped at and whether Wine was chosen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H15noZPfLdvcWEpDJ1sSrQ
@mayukh4 mayukh4 mentioned this pull request Nov 9, 2026
2 tasks done
@mayukh4
mayukh4 merged commit d45e6b4 into main Nov 9, 2026
2 checks passed
@mayukh4
mayukh4 deleted the claude/magical-fermat-8rummf branch November 9, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Listed on unshittify.dev (no action needed)

2 participants