chore(install): optimize logging, speed, cleanup

- Version logged after [PASS] (not before) across all scripts
- Pre-cache brew package lists with log_info progress
- Read brew version from git describe cache (skip Ruby startup)
- Batch mise use -g calls (single invocation for all tools)
- Replace mise verify step with mise ls --current
- Parallel vim plugin pulls
- Skip donut compile when binary is fresh
- Pre-check macOS defaults before writing (skip fsync when unchanged)
- Pre-check dock state before dockutil calls
- Remove redundant 'already installed' skip logs
- Remove meetingbar and wispr-flow install scripts
- Renumber scripts to fill gaps

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-03-24 18:09:17 +00:00
parent 4324a3f449
commit b62a6c00f9
23 changed files with 88 additions and 204 deletions

View File

@@ -88,8 +88,6 @@ if [[ "$DOTS_PKG" == "brew" ]]; then
export HOMEBREW_NO_ENV_HINTS=1
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
export BREW_CASKS=$(brew list --cask 2>/dev/null || true)
export BREW_FORMULAE=$(brew list 2>/dev/null || true)
fi
# Set up directory variables
@@ -137,6 +135,15 @@ run() {
fi
} | log_quote
# Cache brew package lists (avoid repeated slow brew queries in install scripts)
if [[ "$DOTS_PKG" == "brew" ]]; then
log_info "Caching brew package lists..."
export BREW_CASKS=$(brew list --cask 2>/dev/null || true)
export BREW_FORMULAE=$(brew list 2>/dev/null || true)
export BREW_CASK_VERSIONS=$(brew list --cask --versions 2>/dev/null || true)
export BREW_FORMULA_VERSIONS=$(brew list --versions 2>/dev/null || true)
fi
scripts=("$install_dir"/*.sh)
for script in "${scripts[@]}"; do
if [[ -n "$targets" ]]; then
@@ -167,7 +174,8 @@ run() {
printf "completed in ${time_color}${execution_ms_formatted}ms${NC}\n"
done
}
echo -e "\n${GREY}Logging to \"$log_abs_target\"${NC}"
log_info "Logging to \"$log_abs_target\""
total_start_ns=$(now_ns)
run 2>&1 | tee "$log_abs_target"
total_end_ns=$(now_ns)