53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{ pkgs, lib, inputs, ... }:
|
|
|
|
let
|
|
# Paths to agenix-decrypted secrets (same on Darwin and NixOS)
|
|
githubToken = "/run/agenix/github-token";
|
|
anthropicToken = "/run/agenix/anthropicToken";
|
|
|
|
# github-mcp-server binary path from nixpkgs
|
|
githubMcpServer = "${pkgs.github-mcp-server}/bin/github-mcp-server";
|
|
in
|
|
{
|
|
home.packages = [
|
|
pkgs.github-mcp-server
|
|
inputs.llm-agents.packages.${pkgs.system}.opencode
|
|
inputs.llm-agents.packages.${pkgs.system}.beads
|
|
];
|
|
|
|
# OpenCode configuration directory
|
|
xdg.configFile = {
|
|
"opencode/opencode.json".text = builtins.toJSON {
|
|
"$schema" = "https://opencode.ai/config.json";
|
|
theme = "ayu-mirage";
|
|
autoupdate = false;
|
|
permission = {
|
|
external_directory = "allow";
|
|
};
|
|
provider = {
|
|
anthropic = {
|
|
options = {
|
|
apiKey = "{file:${anthropicToken}}";
|
|
};
|
|
};
|
|
};
|
|
mcp = {
|
|
github = {
|
|
type = "local";
|
|
command = [ githubMcpServer "stdio" ];
|
|
environment = {
|
|
GITHUB_PERSONAL_ACCESS_TOKEN = "{file:${githubToken}}";
|
|
};
|
|
};
|
|
};
|
|
agent = {
|
|
build.tools."github_*" = false;
|
|
plan.tools."github_*" = false;
|
|
};
|
|
};
|
|
|
|
"opencode/themes/ayu-mirage.json".source = ./themes/ayu-mirage.json;
|
|
"opencode/agent/librarian.md".source = ./agent/librarian.md;
|
|
};
|
|
}
|