mirror of
https://codeberg.org/muon/home.git
synced 2026-07-03 23:49:35 +00:00
96 lines
2.4 KiB
Nix
96 lines
2.4 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
osConfig,
|
|
...
|
|
}: let
|
|
a2a = osConfig.mods.server.auth2api;
|
|
in {
|
|
options.mods.opencode.enable = lib.mkEnableOption "enables opencode";
|
|
|
|
# imports = [
|
|
# ./package.nix
|
|
# ./dcg.nix
|
|
# ];
|
|
|
|
config = lib.mkIf config.mods.opencode.enable {
|
|
home.packages = with pkgs; [
|
|
(callPackage ./dcg.nix {})
|
|
];
|
|
|
|
programs.opencode = {
|
|
enable = true;
|
|
settings = {
|
|
"plugin" = ["opencode-gemini-auth" "opencode-anthropic-oauth"];
|
|
|
|
"provider" = {
|
|
"auth2api" = {
|
|
"npm" = "@ai-sdk/openai-compatible";
|
|
"name" = "auth2api (local)";
|
|
"options" = {
|
|
"baseURL" = "http://${a2a.host}:${toString a2a.port}/v1";
|
|
};
|
|
"models" = {
|
|
"sonnet" = {
|
|
"name" = "Claude Sonnet 4 (auth2api)";
|
|
};
|
|
"opus" = {
|
|
"name" = "Claude Opus 4 (auth2api)";
|
|
};
|
|
"haiku" = {
|
|
"name" = "Claude Haiku 4.5 (auth2api)";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
"mode" = {
|
|
"build" = {
|
|
"prompt" = "You are Claude Code, Anthropic's official CLI for Claude.";
|
|
};
|
|
"plan" = {
|
|
"prompt" = "You are Claude Code, Anthropic's official CLI for Claude.";
|
|
};
|
|
};
|
|
|
|
"permission" = {
|
|
"bash" = {
|
|
"*" = "ask";
|
|
"*>*" = "ask";
|
|
"rm *" = "deny";
|
|
"rmdir *" = "deny";
|
|
"unlink *" = "deny";
|
|
"*rm *" = "ask";
|
|
"*rmdir *" = "ask";
|
|
"*unlink *" = "ask";
|
|
"awk *>*" = "ask";
|
|
"*-exec*" = "ask";
|
|
"git status" = "allow";
|
|
"git log" = "allow";
|
|
"git diff" = "allow";
|
|
"git show" = "allow";
|
|
"ls *" = "allow";
|
|
"head *" = "allow";
|
|
"tail *" = "allow";
|
|
"sort *" = "allow";
|
|
"uniq *" = "allow";
|
|
"grep *" = "allow";
|
|
"find *" = "allow";
|
|
"rg *" = "allow";
|
|
"fd *" = "allow";
|
|
"cat *" = "allow";
|
|
"wc *" = "allow";
|
|
"jq *" = "allow";
|
|
"file *" = "allow";
|
|
"diff *" = "allow";
|
|
"awk *" = "allow";
|
|
"pwd *" = "allow";
|
|
"cut *" = "allow";
|
|
"tr *" = "allow";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|