designing-options

Define and enforce khanelinix option namespaces and design patterns for Nix modules.

340|18|Updated May 11, 2023
One-click install
npx skills add https://github.com/khaneliman/khanelinix --skill designing-options
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: designing-options
Source: https://github.com/khaneliman/khanelinix/tree/main/modules/common/ai-tools/skills/designing-options
Command: npx skills add https://github.com/khaneliman/khanelinix --skill designing-options

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

khanelinix option naming and design patterns are standardized for module authors, helping ensure consistent configuration access and discoverability across projects.

Core Features & Use Cases

  • Namespace Convention: all options live under khanelinix.* to create a predictable, scalable config surface.
  • Standard Option Pattern: guidance for using options.* with config references, promoting reuse and consistency.
  • Access patterns: examples for referencing user context and shared config across modules.

Quick Start

Define your module options under the khanelinix.* namespace using the Standard Option Pattern and reference config values via config.khanelinix.*.

Frequently Asked Questions about designing-options

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

FAQPage Schema
How do I enforce consistent option namespaces in Nix modules?

To enforce consistent option namespaces in Nix modules, define all options under the khanelinix.* prefix. This creates a predictable, scalable config surface and ensures consistent configuration access across projects.

What is the standard pattern for designing Nix module options?

The standard pattern for designing Nix module options uses the options.* structure with explicit config references. This promotes reuse and consistency by cross-referencing config values via config.khanelinix.* access patterns.

How do I reference shared config values across different Nix modules?

Reference shared config values across Nix modules by accessing them through config.khanelinix.*. This access pattern ensures structured, reusable design and maintains namespace consistency throughout your configuration.

Do I need explicit frontmatter metadata for khanelinix module options?

Yes, explicit frontmatter metadata is enforced for khanelinix module options. Defining modules with this metadata ensures standardized naming, option grouping, and predictable design patterns across all module authoring projects.

When should I use the khanelinix namespace for Nix configuration?

Use the khanelinix namespace for Nix configuration when authoring modules within projects using khanelinix. It standardizes option naming and design patterns, helping ensure consistent configuration access and discoverability across your codebase.