update zed config
This commit is contained in:
@@ -16,7 +16,27 @@ let
|
|||||||
providerPath = "${models-dev}/providers/${provider}";
|
providerPath = "${models-dev}/providers/${provider}";
|
||||||
modelsPath = "${providerPath}/models";
|
modelsPath = "${providerPath}/models";
|
||||||
providerToml = builtins.fromTOML (builtins.readFile "${providerPath}/provider.toml");
|
providerToml = builtins.fromTOML (builtins.readFile "${providerPath}/provider.toml");
|
||||||
modelFiles = builtins.attrNames (builtins.readDir modelsPath);
|
|
||||||
|
findAllTomlFiles =
|
||||||
|
path:
|
||||||
|
let
|
||||||
|
entries = builtins.readDir path;
|
||||||
|
files = builtins.filter (name: builtins.match ".*\\.toml$" name != null) (
|
||||||
|
builtins.attrNames (lib.filterAttrs (_: type: type == "regular") entries)
|
||||||
|
);
|
||||||
|
dirs = builtins.attrNames (lib.filterAttrs (_: type: type == "directory") entries);
|
||||||
|
nestedFiles = builtins.concatMap (
|
||||||
|
dir:
|
||||||
|
let
|
||||||
|
nestedPath = "${path}/${dir}";
|
||||||
|
nestedTomlFiles = findAllTomlFiles nestedPath;
|
||||||
|
in
|
||||||
|
map (file: "${dir}/${file}") nestedTomlFiles
|
||||||
|
) dirs;
|
||||||
|
in
|
||||||
|
files ++ nestedFiles;
|
||||||
|
|
||||||
|
modelFiles = findAllTomlFiles modelsPath;
|
||||||
modelEntries = map (
|
modelEntries = map (
|
||||||
file:
|
file:
|
||||||
let
|
let
|
||||||
@@ -26,7 +46,7 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = modelName;
|
name = modelName;
|
||||||
display_name = parsed.name;
|
display_name = parsed.name or modelName;
|
||||||
max_tokens = parsed.limit.context or parsed.limit.output or 128000;
|
max_tokens = parsed.limit.context or parsed.limit.output or 128000;
|
||||||
}
|
}
|
||||||
) modelFiles;
|
) modelFiles;
|
||||||
@@ -40,24 +60,14 @@ let
|
|||||||
opencodeProviders = map getModelsFromProvider [
|
opencodeProviders = map getModelsFromProvider [
|
||||||
"opencode"
|
"opencode"
|
||||||
"opencode-go"
|
"opencode-go"
|
||||||
|
"fireworks-ai"
|
||||||
|
"firepass"
|
||||||
];
|
];
|
||||||
|
|
||||||
openaiCompatibleProviders = builtins.listToAttrs (
|
openaiCompatibleProviders = builtins.listToAttrs (
|
||||||
map (p: lib.nameValuePair p.name p) opencodeProviders
|
map (p: lib.nameValuePair p.name p) opencodeProviders
|
||||||
);
|
);
|
||||||
|
|
||||||
opencode-wrapped = pkgs.writeShellScriptBin "opencode" ''
|
|
||||||
set -a
|
|
||||||
|
|
||||||
for file in .env .env.local; do
|
|
||||||
[ -e "$file" ] && source "$file"
|
|
||||||
done
|
|
||||||
|
|
||||||
set +a
|
|
||||||
|
|
||||||
${lib.getExe pkgs-unstable.opencode} "$@"
|
|
||||||
'';
|
|
||||||
|
|
||||||
ameba-ls = pkgs.stdenv.mkDerivation rec {
|
ameba-ls = pkgs.stdenv.mkDerivation rec {
|
||||||
pname = "ameba-ls";
|
pname = "ameba-ls";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
@@ -138,7 +148,7 @@ in
|
|||||||
};
|
};
|
||||||
agent_servers = {
|
agent_servers = {
|
||||||
OpenCode = {
|
OpenCode = {
|
||||||
command = lib.getExe opencode-wrapped;
|
command = "opencode";
|
||||||
args = [ "acp" ];
|
args = [ "acp" ];
|
||||||
type = "custom";
|
type = "custom";
|
||||||
};
|
};
|
||||||
@@ -199,6 +209,10 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
TypeScript.language_servers = [
|
||||||
|
"tsgo"
|
||||||
|
"vtsls"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
lsp = with pkgs; {
|
lsp = with pkgs; {
|
||||||
nixd.binary.path = lib.getExe nixd;
|
nixd.binary.path = lib.getExe nixd;
|
||||||
@@ -344,7 +358,7 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
label = "opencode";
|
label = "opencode";
|
||||||
command = lib.getExe opencode-wrapped;
|
command = "opencode";
|
||||||
reveal = "always";
|
reveal = "always";
|
||||||
allow_concurrent_runs = true;
|
allow_concurrent_runs = true;
|
||||||
use_new_terminal = false;
|
use_new_terminal = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user