nixcfg/modules/home/cli-apps/opencode/default.nix
Harald Hoyer a29301179b feat(opencode): install kepano/obsidian-skills into ~/.agents/skills
Add obsidian-skills as a flake input (flake = false) and map each
skill subdirectory into ~/.agents/skills/<skill>, alongside the
existing local skills. Updates flow through `nix flake update
obsidian-skills`.
2026-05-16 14:13:31 +02:00

45 lines
905 B
Nix

{
lib,
config,
inputs,
...
}:
let
inherit (lib) mkIf;
inherit (lib.metacfg) mkBoolOpt;
cfg = config.metacfg.cli-apps.opencode;
obsidianSkills =
lib.mapAttrs'
(
name: _:
lib.nameValuePair ".agents/skills/${name}" {
source = "${inputs.obsidian-skills}/skills/${name}";
recursive = true;
}
)
(
lib.filterAttrs (_: type: type == "directory") (builtins.readDir "${inputs.obsidian-skills}/skills")
);
in
{
options.metacfg.cli-apps.opencode = {
enable = mkBoolOpt true "Enable opencode config.";
};
config = mkIf cfg.enable {
xdg.configFile."opencode" = {
source = ../../../../config/opencode;
recursive = true;
};
home.file = {
".agents/skills" = {
source = ../../../../config/agents/skills;
recursive = true;
};
}
// obsidianSkills;
};
}