cleanup: refresh Brewfile, fix macOS defaults bugs, drop dead code#9
Merged
Conversation
Brewfile changes - core: add atuin (extras), lazygit, difftastic, just, opentofu; remove colordiff (git-delta covers it) - extras: add yazi, dust, procs, sd, fastfetch, hyperfine, tokei, gron, mods, vale, xh, dive, kubeseal, flux, argocd, talosctl, crane, both kubelogin variants, bruno cask - extras: drop neofetch (archived 2024), thefuck (atuin replaces), telnet, gnu-indent, b2-tools, devcleaner, lens, postman - extras: fix cmux description that was cut off mid-sentence setup_macos_defaults.sh bug fixes - configure_remote_login: add missing return 0 so the enable path doesn't run after the "already enabled" check - configure_security: spctl --master-enable -> --global-enable - configure_screenshots: disable-shadow flipped to true so shadows are actually disabled; comment was correct, value was wrong - configure_menubar: drop AppleMenuBarVisibleInFullscreen line (key doesn't exist; kept _HIHideMenuBar which actually works) - configure_night_shift: guard nightlight invocation with command -v - configure_login_items: drop Rectangle, BetterMouse, Bartender 5, Alfred 5, Synology Drive Client (not in Brewfile, replaced, or superseded by Raycast/Ice) New macOS defaults - ApplePressAndHoldEnabled false (vim/Neovim key repeat) - com.apple.ImageCapture disableHotPlug true (block Photos auto-launch on camera/SD card connect) - _FXShowPosixPathInTitle true (POSIX path in Finder title bar) - NSDocumentSaveNewDocumentsToCloud false (default to local disk) Shell integration - atuin.fish: only source ~/.atuin/bin/env.fish if it exists, since brew install puts atuin on PATH directly - integration.fish: drop thefuck integration Linux - install_linux.sh: replace neofetch with fastfetch in extras Note: Azure/kubelogin and int128/kubelogin both ship a `kubelogin` binary and will collide on install. The extras file documents this; pick one if `brew bundle` complains.
Both Azure/kubelogin and int128/kubelogin install a `kubelogin` binary and would collide anyway. Cluster auth is handled by Tailscale ts-k8s-auth and Teleport, so neither plugin is needed.
Adds set_default_shell() that ensures the brew fish path is registered in /etc/shells, then chsh's the user to it. Uses dscl to read the actual login shell (not $SHELL, which only reflects the current process). Wired into the Full, Core-only, and Custom flows.
`"background": "transparent"` forces oh-my-posh to query the terminal for its actual background color (OSC 11) on every prompt redraw. Under cmux this leaks the query bytes back to stdin (cmux PTY bug). Pin to the palette's `p:background` so no terminal query is needed and the prompts stay visually consistent with the rest of the theme.
git-delta auto-detects light/dark by sending OSC 11 (background color) and DA1 capability queries on every invocation. cmux's PTY layer echoes the responses back as visible output (same root cause as the oh-my-posh transient prompt fix). Pinning `dark = true` and an explicit `syntax-theme` makes delta skip both queries.
bat, git-delta, vim, and most ratatui-based TUIs check COLORFGBG before issuing OSC 11 (background color) or CSI ?997 (color-scheme) queries. Pinning it to "15;0" (white on black, dark mode) makes them skip the queries entirely. Defensive fix for the cmux 0.63.x PTY bug that leaks query responses into stdout, and a small perf win on every prompt regardless of terminal.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pre-bootstrap cleanup pass for the new MacBook Pro M5. Brewfile additions/removals, five real bugs in
setup_macos_defaults.sh, dead login items, and stale shell integrations.Brewfile
.Brewfile.core— added:lazygit,difftastic,just,opentofu. Removed:colordiff(git-delta covers it)..Brewfile.extras— added:atuin,yazi,dust,procs,sd,fastfetch,hyperfine,tokei,gron,mods,vale,xhdive,kubeseal,flux,argocd,talosctl,crane, bothkubeloginvariantsbrunocaskfluxcd/tap,siderolabs/tap,Azure/kubelogin,int128/kubelogin).Brewfile.extras— removed:neofetch(archived 2024),thefuck(atuin replaces),telnet,gnu-indent,b2-tools,devcleaner,lens,postman. Cmux comment fixed (was cut off mid-sentence).setup_macos_defaults.shbugsconfigure_remote_login: missingreturn 0after the "already enabled" check — was always re-runningsetremotelogin onsudo spctl --master-enable→--global-enable(deprecated since macOS Ventura)disable-shadow -bool false→true— value was inverted; comment was correctAppleMenuBarVisibleInFullscreenline — key doesn't exist;_HIHideMenuBar(already set) is the working onecommand -v nightlightguard so the function no-ops cleanly if nightlight isn't installed yetNew macOS defaults
ApplePressAndHoldEnabled false— vim/Neovim key repeatcom.apple.ImageCapture disableHotPlug true— block Photos auto-launch on camera/SD card connect_FXShowPosixPathInTitle true— POSIX path in Finder title barNSDocumentSaveNewDocumentsToCloud false— default to local diskLogin items
Dropped: Rectangle, BetterMouse, Bartender 5, Alfred 5, Synology Drive Client. None were in the Brewfile and Alfred/Bartender are superseded by Raycast/Ice.
Shell integration
atuin.fish: only source~/.atuin/bin/env.fishif it exists. Brew installs put atuin on PATH directly, so the manual-installer's env.fish wouldn't exist.integration.fish: thefuck block removed.Linux
install_linux.sh:neofetch→fastfetchin extras (package list + menu text).Heads-up
Azure/kubeloginandint128/kubeloginboth ship a binary namedkubeloginand will collide on install. I included both per the request, with a comment in the extras file flagging it. Pick one ifbrew bundleerrors.Test plan
brew bundle check --file=.Brewfile.coreon the new MBPbrew bundle check --file=.Brewfile.extras(resolve kubelogin collision if it errors)setup_macos_defaults.shend-to-end; verify Remote Login doesn't double-prompt and nightlight no-op path worksdefaults read NSGlobalDomain ApplePressAndHoldEnabledreturns0Generated by Claude Code