codex: add skills options

This commit is contained in:
Hauke Schnau 2026-01-12 16:05:48 +01:00 committed by Austin Horstman
parent b4d88c9ac4
commit 34a9ab0fae
6 changed files with 127 additions and 1 deletions

View file

@ -6,4 +6,7 @@
codex-custom-instructions = ./custom-instructions.nix;
codex-custom-instructions-prefer-xdg-directories = ./custom-instructions-prefer-xdg-directories.nix;
codex-empty-custom-instructions = ./empty-custom-instructions.nix;
codex-skills-inline = ./skills-inline.nix;
codex-skills-dir = ./skills-dir.nix;
codex-skills-conflict = ./skills-conflict.nix;
}

View file

@ -0,0 +1,13 @@
{
programs.codex = {
enable = true;
skills = {
inline-skill = "Test";
};
skillsDir = ./skills-dir;
};
test.asserts.assertions.expected = [
"Cannot specify both `programs.codex.skills` and `programs.codex.skillsDir`"
];
}

View file

@ -0,0 +1,11 @@
{
programs.codex = {
enable = true;
skillsDir = ./skills-dir;
};
nmt.script = ''
assertFileExists home-files/.codex/skills/skill-one/SKILL.md
assertFileRegex home-files/.codex/skills/skill-one/SKILL.md "Skill One"
'';
}

View file

@ -0,0 +1,8 @@
---
name: skill-one
description: Example skill for tests.
---
# Skill One
Test fixture content.

View file

@ -0,0 +1,22 @@
{
programs.codex = {
enable = true;
skills = {
inline-skill = ''
---
name: inline-skill
description: Inline skill for tests.
---
# Inline Skill
Test fixture content.
'';
};
};
nmt.script = ''
assertFileExists home-files/.codex/skills/inline-skill/SKILL.md
assertFileRegex home-files/.codex/skills/inline-skill/SKILL.md "Inline Skill"
'';
}