Standalone, cross-platform, opt-in only. LaTeX toolchain is ~1–2 GiB (basictex) to 5 GiB+ (full texlive/MacTeX) and only relevant on machines doing document/paper work. Matches the #31 (Group F: Android) pattern — opt-in with a data flag, default off.
Changes
.chezmoi.toml.tmpl — new data flag
[data]
install_latex = false
Default off everywhere. Flip to true per-machine.
Linux: gated packages
Under {{ if .install_latex }} in $linuxSpecific / $linuxWithDocker / $linuxWithoutDocker:
biber
latexmk
texlive-latex-base
texlive-fonts-recommended
texlive-science
texlive-xetex
macOS: gated cask
Under {{ if .install_latex }} in $macosSpecific:
Prefer basictex over full MacTeX — ~100 MiB vs ~5 GiB, and tlmgr install can pull missing packages on first use. Document the upgrade path in the issue comments or docs/latex.md.
dot_local/bin/executable_sysup — doctor entries
New tools_docs array, gated on installed presence (not the data flag — so a machine that has LaTeX but forgot to flip the flag still gets honest reporting):
pdflatex
xelatex
biber
latexmk
get_version() cases:
pdflatex --version | head -1
xelatex --version | head -1
biber --version
latexmk --version | head -1
sysup upgrade (ties to #32, Group G)
Add handler:
if command -v tlmgr >/dev/null 2>&1; then
echo "==> tlmgr (LaTeX)"
sudo tlmgr update --self --all
fi
Only meaningful on macOS where basictex ships tlmgr as the upgrade path. On Linux, texlive updates come via apt and are already covered by the apt upgrade step.
(Optional) docs/latex.md
Short usage note covering tlmgr install <pkg> on macOS for missing LaTeX packages, and where texlive lands on Linux. Only worth it if anyone other than the author touches this.
Verification checklist
Explicit non-goals
- No VS Code LaTeX Workshop extension wiring — belongs in VS Code extensions config, separate concern.
- No Overleaf CLI, no Pandoc-with-LaTeX filters (pandoc is tracked separately in the base-packages issue).
- No full MacTeX by default — basictex is the right default; machines that need the full 5 GB can
brew install --cask mactex manually.
Related
Standalone, cross-platform, opt-in only. LaTeX toolchain is ~1–2 GiB (basictex) to 5 GiB+ (full texlive/MacTeX) and only relevant on machines doing document/paper work. Matches the #31 (Group F: Android) pattern — opt-in with a data flag, default off.
Changes
.chezmoi.toml.tmpl— new data flagDefault off everywhere. Flip to
trueper-machine.Linux: gated packages
Under
{{ if .install_latex }}in$linuxSpecific/$linuxWithDocker/$linuxWithoutDocker:biberlatexmktexlive-latex-basetexlive-fonts-recommendedtexlive-sciencetexlive-xetexmacOS: gated cask
Under
{{ if .install_latex }}in$macosSpecific:basictex(brew cask)Prefer
basictexover full MacTeX — ~100 MiB vs ~5 GiB, andtlmgr installcan pull missing packages on first use. Document the upgrade path in the issue comments ordocs/latex.md.dot_local/bin/executable_sysup— doctor entriesNew
tools_docsarray, gated on installed presence (not the data flag — so a machine that has LaTeX but forgot to flip the flag still gets honest reporting):pdflatexxelatexbiberlatexmkget_version()cases:pdflatex --version | head -1xelatex --version | head -1biber --versionlatexmk --version | head -1sysup upgrade(ties to #32, Group G)Add handler:
Only meaningful on macOS where basictex ships tlmgr as the upgrade path. On Linux, texlive updates come via apt and are already covered by the apt upgrade step.
(Optional)
docs/latex.mdShort usage note covering
tlmgr install <pkg>on macOS for missing LaTeX packages, and where texlive lands on Linux. Only worth it if anyone other than the author touches this.Verification checklist
chezmoi execute-templaterenders cleanly withinstall_latex=trueand=false.install_latex=false): no texlive/basictex references in rendered output.install_latex=trueon Linux:pdflatex --version+biber --version+latexmk --versionall work.install_latex=trueon macOS:brew list --cask basictexshows installed;pdflatexon PATH after shell restart.sysup doctordoes not warn about missing LaTeX tools when flag is off and the tools genuinely aren't installed.sysup doctorreports LaTeX tools honestly when they are installed, regardless of flag state.Explicit non-goals
brew install --cask mactexmanually.Related