Commit Graph

20 Commits

Author SHA1 Message Date
ffd26e06d6 perf(zsh): cache tool init, lazy-load, remove plugins
Startup: 150ms → 40ms (native), projected 10-30s → <1s (iSH)

- Cache mise/fzf/zoxide init output keyed on binary mtime
- zcompile all sourced files to bytecode at install time
- Lazy-load compinit (first Tab), fzf+widgets (first keystroke)
- Remove autosuggestions and syntax-highlighting plugins
- Switch mise to shims mode (no per-prompt hook)
- Conditional mkdir (skip if dirs exist)
- Remove TRAPINT/flash handler, cache session info
- Eliminate per-prompt subshell forks (REPLY pattern)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 18:08:40 +00:00
440b5b9829 vscode: add brew cask script
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-20 18:13:01 +00:00
f07a524dc6 mise: add bun and rust runtimes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-20 18:13:01 +00:00
296ad6c4eb fix: SIGPIPE (exit 141) in mise verification, remove redundant bat script
Replace head -1 with sed -n '1p' across all install scripts to
prevent SIGPIPE when commands produce multi-line output. head closes
the pipe after reading line 1, causing the writer to receive SIGPIPE
which propagates via pipefail (exit 141). sed reads all input,
avoiding the broken pipe.

Remove install.d/26-bat.sh — bat is already installed and managed
via mise in 30-mise.sh.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 18:53:19 +00:00
de5e296806 fix: CI log formatting and glow install on Debian
- Move glow install from apt/pacman/brew to mise (fixes Debian CI
  failure where glow is not in default apt repos)
- Suppress verbose Poetry installer banner with tail -1 in mise
  app install loop
- Add final log_pass to vim plugin script for consistent formatting
- Add version quote to cmatrix for completeness

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 18:39:10 +00:00
cccffa8fae Unify installer colors with vim/shell palette and clean up output
- Replace BLUE/CYAN/CYAN_BOLD with TEAL/TEAL_BOLD (#2CB494) to match
  the primary accent used across vim, zsh prompt, tmux, and fzf
- Update BLUE (#0C48CC -> #4068D4) then merge into TEAL
- Update RED (#F40404 -> #F88C14) to match vim/shell error orange
- Rename GREEN to grey-blue (#7290B8) for [PASS] messages
- Format all raw echo output with log functions or log_quote
- Suppress sudo prompt when credentials are already cached
- Add missing log_pass to 22-zsh.sh and 23-stow.sh
- Convert raw 'already installed' echos to log_skip (7 scripts)
- Pipe SSH key and mise output through log_quote
- Suppress noisy bat cache and mise WARN output
- Match fastfetch colors to palette (teal logo, grey-blue keys)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 15:29:02 +00:00
4ec1ea9249 Add Wispr Flow install script for macOS
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 10:48:52 +00:00
f331bf8122 fix: always run apt-get update in 11-apt.sh
Move apt-get update before the 'already installed' check so the
package index is always refreshed. Previously, on environments like
Codespaces where base packages are pre-installed, the update was
skipped entirely, causing downstream scripts (e.g. 23-stow.sh) to
fail with 'Unable to locate package'.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 10:46:46 +00:00
1a2ccdbe2e feat(mise): add bat, rebuild theme cache
Add bat to mise tool list, rebuild bat theme cache after install
to keep delta syntax themes in sync. Handle delta version check
failure gracefully.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:17:03 +00:00
87235693c6 feat(preview): add universal file preview script and installer
Universal preview command handling text (bat), images (chafa),
PDFs (pdftotext), markdown (glow), and archives. Includes
install.d script for preview dependencies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-13 17:16:43 +00:00
e686b6396d Add spinning donut screensaver with matrix rain
Terminal screensaver written in C, triggered by tmux lock-after-time
(180s idle), bind S, or `donut` alias. Features:

- Spinning torus with precomputed trig tables, randomized rotation
- Matrix rain overlay — donut luminance colors the rain characters
- 64-shade teal foreground palette with gradual dimming over time
- Chunky 7x5 clock with shadow, blinking colon, periodic drift
- Activity time display below clock (read from heartbeat state file)
- Rim lighting and ambient occlusion on donut edges
- RLE escape state machine — only emits SGR on shade transitions
- Row-skip rendering — empty/leading/trailing regions use cursor jumps
- Projection runs at adaptive rate (24fps bright, 6fps dim)
- select()-based frame pacing, deep sleep after 2hr (1fps)
- Resume detection — flushes stale PTY output after sleep/lock
- Mouse click to quit (SGR + X11 protocols, release filtered)
- write_all() retries partial writes, SIGPIPE handled gracefully
- Alternate screen buffer preserves shell scrollback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 16:56:44 +00:00
e7a2b3c10e Fix bat install on Debian: symlink batcat to bat
Debian's apt package installs the binary as 'batcat' due to a naming
conflict. Add a symlink to /usr/local/bin/bat after apt install so the
dotfiles can reference 'bat' consistently across all platforms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 15:14:47 +00:00
53bd2f49ef bat build and zsh widget perf 2026-02-24 20:26:04 +00:00
faad821c77 terminal tool colours 2026-02-24 20:00:53 +00:00
e8165041d9 fix: codespaces gitconfig override 2026-02-24 19:02:28 +00:00
7d2825f9d1 profile: invalidate PATH cache when base PATH changes
Store the base PATH alongside the cached result so the cache is
only used when the pre-modification PATH still matches.  This
prevents stale entries when the shell inherits a different base
PATH (e.g. inside tmux or after system updates).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-24 16:10:12 +00:00
6fd897b8b5 Merge remote-tracking branch 'origin/master' 2026-02-24 16:08:51 +00:00
2acae0b4f2 vim: add plugins, tmux: status bar, fix Ctrl+A clash
- Add vim-gitgutter, vim-commentary, vim-surround via install
script
- Rebind git log widget from Ctrl+A to Ctrl+T (tmux prefix
clash)
- Add date, time, and battery indicator to tmux status
bar
- Set tmux clock colour to teal

Co-authored-by: Copilot
<223556219+Copilot@users.noreply.github.com>
2026-02-24 16:08:10 +00:00
409bc6fef5 fix: install outputs, mise keyrings, termcolor 2026-02-23 08:49:43 -08:00
eb958a36e0 feat: install script re-org 2026-02-13 15:13:12 +00:00