Headless nvim plugin/LSP install doesn't work well without a proper
terminal. Auto-skip it alongside non-interactive TUI detection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
chezmoi run_onchange scripts don't receive CLI arguments, so the
--non-interactive flag only works when running the script directly.
Now also checks if stdin/stdout are real terminals to auto-detect
non-interactive contexts like Vagrant provisioning.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The fancy cursor-positioning TUI (get_line, print_block, tput) fails in
non-interactive contexts like Vagrant provisioning where there's no real
terminal. Now when --non-interactive is passed, uses simple echo-based
output instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The acsc capability contains literal {{||}} which chezmoi's Go template
engine tries to parse. Escape with {{ "{{" }} and {{ "}}" }} syntax.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Embeds the xterm-ghostty terminfo definition directly in the installer
and compiles it via tic when not already present. On Arch, uses the
ghostty-terminfo package from official repos instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Detect doas/sudo at startup and use $SUDO variable for all
privilege escalation commands. Prefers doas when available.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract tide prompt configuration from heavy installer into its own
lightweight run_onchange script keyed to fish_plugins hash
- Remove tide_context_always_display (only show user@host in SSH)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use antonme/tide fork (from plttn/tide v7) which includes fix for
bold leaking from home directory pwd rendering
- Replace fragile index-based tide_right_prompt_items removal with
explicit name-based filtering of node, gcloud, and kubectl
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>