feat: implement agent skills

This commit is contained in:
m3tm3re
2026-03-28 10:17:29 +01:00
parent 1bc1616a4f
commit 87939ce630
12 changed files with 212 additions and 100 deletions

View File

@@ -198,6 +198,7 @@
};
home.packages = with pkgs; [
basecamp
comma
coreutils
devenv

View File

@@ -15,6 +15,7 @@ in {
package =
pkgs.pass-wayland.withExtensions
(exts: [exts.pass-otp exts.pass-import]);
settings = {PASSWORD_STORE_DIR = "$XDG_DATA_HOME/password-store";};
};
home.packages = with pkgs; [pinentry-gnome3];
};

View File

@@ -1,7 +1,6 @@
{
config,
lib,
pkgs,
...
}:
with lib; let

View File

@@ -67,12 +67,11 @@
pyrefly
nixd
nodejs
opencode-desktop
# opencode-desktop
(qmd.override {
vulkanSupport = videoDrivers == ["amdgpu"];
cudaSupport = videoDrivers == ["nvidia"];
})
pi
openspec
alejandra
sidecar

View File

@@ -1,27 +1,33 @@
{inputs, ...}: {
xdg.configFile = {
"opencode/commands" = {
source = "${inputs.agents}/commands";
recursive = true;
};
"opencode/context" = {
source = "${inputs.agents}/context";
recursive = true;
};
"opencode/prompts" = {
source = "${inputs.agents}/prompts";
recursive = true;
};
"opencode/skills" = {
source = "${inputs.agents}/skills";
recursive = true;
};
"opencode/rules" = {
source = "${inputs.agents}/rules";
recursive = true;
};
{
inputs,
system,
...
}: let
pkgs = inputs.nixpkgs.legacyPackages.${system};
in {
# Skills — composed from custom + external sources
xdg.configFile."opencode/skills".source = inputs.agents.lib.mkOpencodeSkills {
inherit pkgs;
customSkills = "${inputs.agents}/skills";
externalSkills = [
{
src = inputs.skills-anthropic;
selectSkills = ["docx" "frontend-design" "mcp-builder" "pdf" "mcp-builder"];
}
{
src = inputs.skills-basecamp;
}
{
src = inputs.skills-kestra;
}
];
};
# Other config — symlinked directly
xdg.configFile."opencode/context".source = "${inputs.agents}/context";
xdg.configFile."opencode/commands".source = "${inputs.agents}/commands";
xdg.configFile."opencode/prompts".source = "${inputs.agents}/prompts";
programs.opencode = {
enable = true;
enableMcpIntegration = true;

View File

@@ -42,6 +42,7 @@
userDirs = {
enable = true;
createDirectories = true;
setSessionVariables = true;
};
};

View File

@@ -1,4 +1,5 @@
{
config,
pkgs,
...
}: {
@@ -16,5 +17,6 @@
name = "Dracula";
package = pkgs.dracula-icon-theme;
};
gtk4.theme = config.gtk.theme;
};
}