aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/specs/fonts/spec.md
diff options
context:
space:
mode:
Diffstat (limited to 'openspec/specs/fonts/spec.md')
-rw-r--r--openspec/specs/fonts/spec.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/openspec/specs/fonts/spec.md b/openspec/specs/fonts/spec.md
new file mode 100644
index 0000000..2b0f9ea
--- /dev/null
+++ b/openspec/specs/fonts/spec.md
@@ -0,0 +1,28 @@
1# fonts Specification
2
3## Purpose
4
5Provisions 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.
6
7## Requirements
8
9### Requirement: JetBrains Mono Nerd Font is provisioned via the shared home profile
10The 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.
11
12#### Scenario: Font available after activation
13- **WHEN** the shared home profile is activated on a system for which the JetBrains Mono Nerd Font package is supported
14- **THEN** the font is installed and resolvable by name by font-aware applications, without any additional manual installation step
15
16### Requirement: The font package is skipped, not failed, on unsupported systems
17On 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.
18
19#### Scenario: Unsupported system excluded without failure
20- **WHEN** the shared home profile is evaluated on a system for which the JetBrains Mono Nerd Font package has no supported build
21- **THEN** the font package is excluded from the provisioned set and the rest of the profile evaluates and activates successfully
22
23### Requirement: The font is discoverable by fontconfig-based applications
24On 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.
25
26#### Scenario: Font resolvable via fontconfig after activation
27- **WHEN** the shared home profile is activated on a Linux system, whether standalone or as part of a NixOS host
28- **THEN** a fontconfig-based application can enumerate and select the JetBrains Mono Nerd Font by name without additional manual font-cache configuration