Skip to content

env setup, clean OS install #9

Description

@UnderpantsGnome
macOS: 26.3.1
openboot: v0.38.0

When setting up a machine from scratch, the environment doesn't get setup for homebrew or oh-my-zsh. After running there is no ~/.zshrc

Expected results:

  1. ~./zshrc is created if none exists
  2. homebrew hooks are added to ~./zshrc
  3. oh-my-zsh hooks are added to ~./zshrc if chosen to be installed

Activity

  1. github-actions commented on Mar 16, 2026

    @github-actions

    👋 Thanks for opening this issue!

    Welcome to OpenBoot! We appreciate your contribution to the project.

    To help us address this quickly:

    • If reporting a bug, please include your macOS version and OpenBoot version (openboot version)
    • If requesting a feature, describe your use case
    • If you have questions, check out our documentation

    @fullstackjam will review this soon.

  2. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Good catch. The Oh-My-Zsh installer creates a .zshrc, but we were immediately renaming it to .zshrc.openboot.bak to avoid conflicts with dotfiles stow — except stow already handles that on its own. So the rename just deleted the only .zshrc on a clean machine.

    On top of that, there was nothing writing eval "$(brew shellenv)" into .zshrc, so Homebrew wasn't in PATH for new shells on Apple Silicon.

    Fixed in v0.38.1:

    1. Oh-My-Zsh's .zshrc is kept after install
    2. eval "$(brew shellenv)" is added to the top of .zshrc automatically on Apple Silicon
    3. If .zshrc doesn't exist at all (e.g. user skips Oh-My-Zsh), one is created with the brew line

    Upgrade and give it another go?

  3. UnderpantsGnome commented on Mar 16, 2026

    @UnderpantsGnome
    Author

    It looks like the sudo prompt on the homebrew install regressed. stdin is not a TTY

  4. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Stdin isn't a terminal by the time the Go binary runs via curl | bash, so sudo prompts break. v0.38.2 opens /dev/tty directly instead of relying on stdin. Re-run the install script and try again?

  5. UnderpantsGnome commented on Mar 16, 2026

    @UnderpantsGnome
    Author

    Do I need to clear anything out before running curl -fsSL https://openboot.dev/install.sh | bash? I'm still seeing the issue.

  6. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Actually — since you ran the installer before, there's likely stale state from the previous attempt. Clear it out first:

    brew uninstall openboot 2>/dev/null
    brew untap openbootdotdev/tap 2>/dev/null
    rm -rf ~/.openboot

    Then re-run:

    curl -fsSL https://openboot.dev/install.sh | bash
  7. UnderpantsGnome commented on Mar 16, 2026

    @UnderpantsGnome
    Author

    This is on another clean install, I have the installer USB attached, so resetting to zero is pretty simple.

    No homebrew install
    No ./openboot dir

  8. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Thanks for confirming. On a clean install the sudo prompt happens during the Homebrew installation itself (before openboot even runs). Can you paste the full terminal output from when you run the install script? Specifically the lines around the stdin is not a TTY error — need to see exactly which command is failing.

  9. UnderpantsGnome commented on Mar 16, 2026

    @UnderpantsGnome
    Author
    test@tests-MacBook-Pro ~ % curl -fsSL https://openboot.dev/UnderpantsGnome/imported-config | bash
    ========================================
      OpenBoot - Custom Install
      Config: @UnderpantsGnome/imported-config
    ========================================
    
    Installing Homebrew...
    
    Warning: Running in non-interactive mode because `stdin` is not a TTY.
    ==> Checking for `sudo` access (which may request your password)...
    Need sudo access on macOS (e.g. the user test needs to be an Administrator)!
    
  10. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Found it. You're running openboot.dev/UnderpantsGnome/imported-config, not openboot.dev/install.sh — that's a different script generated server-side. It's missing the exec < /dev/tty fix that the main install script already has, so Homebrew sees a pipe for stdin and goes non-interactive.

    Fixing the server-side template now. Will follow up here once it's deployed.

  11. UnderpantsGnome commented on Mar 16, 2026

    @UnderpantsGnome
    Author

    Yeah I was just typing that in here...

  12. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Found it — you're running openboot.dev/UnderpantsGnome/imported-config, not openboot.dev/install.sh. That's a separate script generated server-side, and it was missing the exec < /dev/tty fix. Deployed now — try again.

  13. UnderpantsGnome commented on Mar 16, 2026

    @UnderpantsGnome
    Author

    running openboot.dev/UnderpantsGnome/imported-config just hangs.

    running openboot.dev/install.sh works

  14. fullstackjam commented on Mar 16, 2026

    @fullstackjam
    Member

    Fixed — the generated script was missing the main() wrapper. Bash loses the rest of the script when exec < /dev/tty runs at the top level of a pipe. Try again now.

  15. UnderpantsGnome commented on Mar 17, 2026

    @UnderpantsGnome
    Author

    looks good 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions