diff options
| author | 2026-09-24 13:34:58 +0000 | |
|---|---|---|
| committer | 2026-09-24 13:34:58 +0000 | |
| commit | a70a7e5ed46e6671a64c94698f70ceb210eff7cd (patch) | |
| tree | e8050b592a7d1f6b5d2cdd66ab052b5e9a31659b /openspec/changes/archive/2026-09-24-add-jetbrains-mono-nerd-font/specs | |
| parent | 096e82ca45a5360b4b2dd084e0fb1a937a227a69 (diff) | |
| download | desktop-flake-a70a7e5ed46e6671a64c94698f70ceb210eff7cd.tar.gz desktop-flake-a70a7e5ed46e6671a64c94698f70ceb210eff7cd.tar.bz2 desktop-flake-a70a7e5ed46e6671a64c94698f70ceb210eff7cd.zip | |
Provision the JetBrains Mono Nerd Font via the shared home profile
Ghostty and Neovim both render glyphs (statusline icons, file-tree
icons) that need a Nerd Font, and no font was previously provisioned
at all.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'openspec/changes/archive/2026-09-24-add-jetbrains-mono-nerd-font/specs')
| -rw-r--r-- | openspec/changes/archive/2026-09-24-add-jetbrains-mono-nerd-font/specs/fonts/spec.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/openspec/changes/archive/2026-09-24-add-jetbrains-mono-nerd-font/specs/fonts/spec.md b/openspec/changes/archive/2026-09-24-add-jetbrains-mono-nerd-font/specs/fonts/spec.md new file mode 100644 index 0000000..e57f124 --- /dev/null +++ b/openspec/changes/archive/2026-09-24-add-jetbrains-mono-nerd-font/specs/fonts/spec.md | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | ## Purpose | ||
| 2 | |||
| 3 | Provisions typefaces through the shared home-manager profile, starting with the JetBrains Mono Nerd Font, so that glyph-dependent terminal and editor UIs render correctly wherever that profile is activated. | ||
| 4 | |||
| 5 | ## ADDED Requirements | ||
| 6 | |||
| 7 | ### Requirement: JetBrains Mono Nerd Font is provisioned via the shared home profile | ||
| 8 | The shared home-manager profile SHALL include the JetBrains Mono Nerd Font as a package, available wherever that profile is activated and the underlying package supports the current system. | ||
| 9 | |||
| 10 | #### Scenario: Font available after activation | ||
| 11 | - **WHEN** the shared home profile is activated on a system for which the JetBrains Mono Nerd Font package is supported | ||
| 12 | - **THEN** the font is installed and resolvable by name by font-aware applications, without any additional manual installation step | ||
| 13 | |||
| 14 | ### Requirement: The font package is skipped, not failed, on unsupported systems | ||
| 15 | On a system for which the JetBrains Mono Nerd Font package has no supported build, the package SHALL be omitted from the provisioned package set rather than causing profile evaluation or activation to fail. | ||
| 16 | |||
| 17 | #### Scenario: Unsupported system excluded without failure | ||
| 18 | - **WHEN** the shared home profile is evaluated on a system for which the JetBrains Mono Nerd Font package has no supported build | ||
| 19 | - **THEN** the font package is excluded from the provisioned set and the rest of the profile evaluates and activates successfully | ||
| 20 | |||
| 21 | ### Requirement: The font is discoverable by fontconfig-based applications | ||
| 22 | On a Linux activation of the shared home profile, fontconfig SHALL be configured to discover fonts installed through the profile's packages, so that fontconfig-based applications (including the terminal and editor provisioned elsewhere in this profile) can resolve the JetBrains Mono Nerd Font by name. | ||
| 23 | |||
| 24 | #### Scenario: Font resolvable via fontconfig after activation | ||
| 25 | - **WHEN** the shared home profile is activated on a Linux system, whether standalone or as part of a NixOS host | ||
| 26 | - **THEN** a fontconfig-based application can enumerate and select the JetBrains Mono Nerd Font by name without additional manual font-cache configuration | ||
