mirror of
https://github.com/nix-community/home-manager.git
synced 2026-10-03 12:09:19 +00:00
opencode: avoid IFD for skill paths
Classify derived skill files and directories during builds while preserving direct handling for literal paths.
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
{ realPkgs, ... }:
|
||||
|
||||
let
|
||||
src = pkgs.writeTextDir "skills/external-skill/SKILL.md" ''
|
||||
# External Skill
|
||||
src = realPkgs.runCommand "opencode-ifd-skills-directory" { } ''
|
||||
mkdir -p "$out/skills/external-skill"
|
||||
echo '# External Skill' > "$out/skills/external-skill/SKILL.md"
|
||||
'';
|
||||
in
|
||||
{
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
{ pkgs, ... }:
|
||||
{ realPkgs, ... }:
|
||||
|
||||
let
|
||||
src = pkgs.writeTextDir "skills/external-skill/SKILL.md" ''
|
||||
# Mock Skill
|
||||
This content simulates a skill living inside a package source.
|
||||
src = realPkgs.runCommand "opencode-ifd-skill-source" { } ''
|
||||
mkdir -p "$out/skills/external-skill"
|
||||
echo '# External Skill' > "$out/skills/external-skill/SKILL.md"
|
||||
'';
|
||||
in
|
||||
{
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
skills = {
|
||||
# We reference the specific subfolder inside the store path
|
||||
internal-skill = "${src}/skills/external-skill";
|
||||
directory = "${src}/skills/external-skill";
|
||||
file = "${src}/skills/external-skill/SKILL.md";
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/opencode/skills/internal-skill/SKILL.md
|
||||
|
||||
assertFileContent home-files/.config/opencode/skills/internal-skill/SKILL.md \
|
||||
assertFileContent home-files/.config/opencode/skills/directory/SKILL.md \
|
||||
"${src}/skills/external-skill/SKILL.md"
|
||||
assertFileContent home-files/.config/opencode/skills/file/SKILL.md \
|
||||
"${src}/skills/external-skill/SKILL.md"
|
||||
'';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user