Skip to content

Install everything by default: Homebrew, the Brewfile, the shell, Claude Code - #13

Merged
ldayton merged 1 commit into
mainfrom
lily/standard-defaults
Aug 21, 2026
Merged

ldayton merged 1 commit into
mainfrom
lily/standard-defaults

Conversation

@ldayton

@ldayton ldayton commented Aug 21, 2026

Copy link
Copy Markdown
Owner

The role only ever shared a Homebrew prefix somebody else had already put there, and on a stock cloud image -- which has none -- every brew task skipped as a green tick. The account came up without gh, zellij, or anything else this repo is about, and the host preset had to downgrade the shell to /bin/bash to get past the guard.

A standard run should provision the standard setup, so:

  • The role now installs Homebrew when the prefix is missing (dev_user_brew_install, default true), refusing clearly over a root connection since the installer will not run as uid 0.
  • The login shell is installed on its own before the account is created -- it is the one formula the account cannot exist without, and the Brewfile that would supply it is staged out of a clone in a home that does not exist yet.
  • dev_user_brewfile and dev_user_claude_code default to on.
  • dev_user_home_require_separate_fs flips to off: the default home is on the root volume, and demanding otherwise failed every ordinary box before it had done anything.
  • hosts/lily.yml drops the four workaround overrides and keeps only the ssh keys, the overlay opt-out, and the sudo/docker grant.

Verified on a fresh cloud box: full run in ~3.5 minutes, ok=30 changed=7 failed=0, with brew, gh, zellij, and the zsh login shell all in place afterward.

Note the new requirement stated in site.yml: the invoking account needs passwordless sudo, because the Homebrew installer calls sudo itself rather than inheriting the play's escalation.

https://claude.ai/code/session_01SW9Cwp9MTZBr5Yk577frw6

…ude Code

The role only ever shared a Homebrew prefix somebody else had already put
there, and on a stock cloud image -- which has none -- every brew task
skipped as a green tick. The account came up without gh, zellij, or anything
else this repo is about, and the host preset had to downgrade the shell to
/bin/bash to get past the guard. A standard run should provision the
standard setup, so the role now installs the prefix when it is missing,
installs the login shell before creating the account, and the Brewfile and
Claude Code default to on. The separate-filesystem check flips to off,
because the default home is on the root volume and demanding otherwise
failed every ordinary box.

Claude-Session: https://claude.ai/code/session_01SW9Cwp9MTZBr5Yk577frw6
@ldayton
ldayton merged commit 1fb2748 into main Aug 21, 2026
4 checks passed
@ldayton
ldayton deleted the lily/standard-defaults branch August 21, 2026 10:16
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.

1 participant