diff --git a/run_once_20-install-user-packages.sh.tmpl b/run_once_20-install-user-packages.sh.tmpl index 8f1d0a0..69236e7 100755 --- a/run_once_20-install-user-packages.sh.tmpl +++ b/run_once_20-install-user-packages.sh.tmpl @@ -157,7 +157,11 @@ fi # Pin Maple-font version. Bump manually if a release breaks things. MAPLE_FONT_VERSION="v7.9" -if fc-list 2>/dev/null | grep -qi "Maple Mono NF"; then +# fc-list check: bash string match instead of pipeline, because `set -o pipefail` +# in this script causes `fc-list | grep -q` to fail with SIGPIPE (exit 141) when +# grep exits early on first match — the pipeline then reports non-zero, the +# `if` evaluates to false, and the bootstrap re-installs the font unnecessarily. +if [[ "$(fc-list 2>/dev/null)" == *"Maple Mono NF"* ]]; then log "Maple Mono NF already installed" else {{ if eq .os_family "arch" -}}