feat: add automated font installation system with fontconfig management

- Install fonts from Google Fonts via TOML config
- Generate fontconfig XML with optimized rendering settings
- Auto-run on config changes via chezmoi hook
- Support GitHub-sourced fonts (Iosevka) alongside Google Fonts
This commit is contained in:
2025-12-28 15:20:04 -06:00
parent ffcb41380c
commit 62c575aa92
4 changed files with 1038 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# Font Configuration for Chezmoi
# This file defines which fonts to install and configure.
# Fonts are sourced from Google Fonts automatically.
#
# To add a font: Just type its name - fuzzy matching will help if you misspell.
# To swap fonts: Change the primary, run `chezmoi apply`, done!
#
# Run `install-fonts.ts` manually to see available fonts or troubleshoot.
[ui]
# Sans-serif fonts for user interface elements
primary = "Inter"
fallback = "Noto Sans"
[serif]
# Serif fonts for documents and reading
primary = "Source Serif 4"
fallback = "Noto Serif"
[mono]
# Monospace fonts for code and terminals
primary = "Iosevka"
fallback = "JetBrains Mono"
[emoji]
# Emoji font for unicode emoji support
primary = "Noto Color Emoji"
# Optional: Uncomment to install accessibility-focused fonts
# [accessibility]
# primary = "Atkinson Hyperlegible"