Commit 711c0cc
Changed files (2)
modules
develop
agents
modules/develop/agents/default.nix
@@ -15,7 +15,17 @@
)
];
};
- homeManager = {pkgs, ...}: {
+ homeManager = {
+ pkgs,
+ lib,
+ ...
+ }: let
+ skills = {
+ grilling = ./skills/grilling;
+ jujutsu = ./skills/jujutsu;
+ open-websearch = "${pkgs.open-websearch.src}/skills/open-websearch";
+ };
+ in {
nixpkgs.overlays = [
(
final: prev: {
@@ -23,6 +33,28 @@
}
)
];
+
+ home.packages = with pkgs; [
+ open-websearch
+ ];
+
+ xdg.configFile =
+ lib.mapAttrs' (
+ name: content:
+ if lib.hm.strings.isPathLike content && lib.pathIsDirectory content
+ then
+ lib.nameValuePair "agents/skills/${name}" {
+ source = content;
+ recursive = true;
+ }
+ else
+ lib.nameValuePair "agents/skills/${name}/SKILL.md" (
+ if lib.hm.strings.isPathLike content
+ then {source = content;}
+ else {text = content;}
+ )
+ )
+ skills;
};
};
}
modules/develop/agents/opencode.nix
@@ -15,18 +15,14 @@
];
};
- homeManager = {pkgs, ...}: {
+ homeManager = {
+ pkgs,
+ config,
+ ...
+ }: {
programs.opencode = {
enable = true;
package = pkgs.llm-agents.opencode;
- extraPackages = with pkgs; [
- open-websearch
- ];
- skills = {
- grilling = ./skills/grilling;
- jujutsu = ./skills/jujutsu;
- open-websearch = "${pkgs.open-websearch.src}/skills/open-websearch";
- };
settings = {
permission = {
external_directory = {
@@ -59,6 +55,11 @@
];
};
};
+
+ systemd.user.tmpfiles.rules = [
+ "r ${config.xdg.configHome}/opencode/skills"
+ "L ${config.xdg.configHome}/agents/skills - - - - ${config.xdg.configHome}/opencode/skills"
+ ];
};
};