font-preset

Create and validate dotfiles font presets for nixpkgs attr paths and runtime family names.

Updated Jan 25, 2024
One-click install
npx skills add https://github.com/axelcool1234/.dotfiles --skill font-preset
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: font-preset
Source: https://github.com/axelcool1234/.dotfiles/tree/main/wrappers/code/skills/font-preset
Command: npx skills add https://github.com/axelcool1234/.dotfiles --skill font-preset

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill removes guesswork when adding or updating font presets in the dotfiles repository by ensuring preset data matches runtime font family names, nixpkgs package attribute paths, and any required Kitty PostScript names so consumers and builds behave predictably.

Core Features & Use Cases

  • Preset shape enforcement: Mirror the exact role and attribute footprint used by the repo (ui, monospace, terminal, emoji, symbols) so consumers read consistent data.
  • Package and runtime verification: Resolve nixpkgs attr paths reliably and confirm runtime family names by building the package and inspecting installed font files.
  • Optional PostScript verification and validation: Use fc-scan to verify PostScript names for terminal fonts and validate changes with at least one nix eval and one nix build to ensure wrapper and host consumers work.
  • Use case: Add a new Nerd Font preset by determining the correct nested package attr path, confirming the displayed family name from installed files, optionally recording a postscriptName for Kitty, and then validating the preset through evaluation and targeted builds.

Quick Start

Add or update a fonts/<preset-name>.nix file matching the repo's role schema, verify the packageAttrPath with nix search or MCP, confirm the runtime family name by building and inspecting the installed font files, check the PostScript name with fc-scan when needed, and run a nix eval plus a nix build to validate.

Frequently Asked Questions about font-preset

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify nixpkgs font package attribute paths and runtime family names for dotfiles presets?

To verify nixpkgs font package attribute paths and runtime family names, you must resolve the attr path reliably and confirm the runtime family name by building the package and inspecting the installed font files. This ensures dotfiles presets match runtime behavior.

How do I validate Kitty PostScript names for terminal fonts using fc-scan?

You validate Kitty PostScript names for terminal fonts by using the fc-scan tool to inspect installed font files. This optional verification step ensures the postscriptName recorded in your dotfiles font preset matches the actual font metadata.

What is the correct schema for dotfiles font presets in Nix?

The correct schema for dotfiles font presets mirrors the exact role and attribute footprint used by the repository, specifically covering ui, monospace, terminal, emoji, and symbols roles. This ensures consumers read consistent data from the fonts/*.nix files.

How do I validate Nix font presets to ensure system and wrapper builds work?

To validate Nix font presets and ensure system and wrapper builds work, you must perform at least one nix eval and one targeted nix build. This verification confirms that wrapper and host consumers will behave predictably with the updated preset data.

Can I add a new Nerd Font preset to nixpkgs without manually checking the displayed family name?

No, when adding a new Nerd Font preset you must determine the correct nested package attr path and build the package to confirm the displayed runtime family name from installed files. This manual inspection prevents consumer mismatches.

Why are my Nix dotfiles font presets causing unpredictable behavior in wrapper packages?

Nix dotfiles font presets cause unpredictable behavior in wrapper packages when preset data does not match runtime font family names or nixpkgs package attribute paths. Validating with nix eval and nix build resolves these consumer mismatches.