From d33876753e811dacc2340053ab824ae9082cc35e Mon Sep 17 00:00:00 2001 From: Joakim Repomaa Date: Fri, 29 May 2026 19:10:43 +0300 Subject: [PATCH] update zed config --- home/modules/zed/default.nix | 46 +++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/home/modules/zed/default.nix b/home/modules/zed/default.nix index 5533185..1351261 100644 --- a/home/modules/zed/default.nix +++ b/home/modules/zed/default.nix @@ -16,7 +16,27 @@ let providerPath = "${models-dev}/providers/${provider}"; modelsPath = "${providerPath}/models"; 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 ( file: let @@ -26,7 +46,7 @@ let in { name = modelName; - display_name = parsed.name; + display_name = parsed.name or modelName; max_tokens = parsed.limit.context or parsed.limit.output or 128000; } ) modelFiles; @@ -40,24 +60,14 @@ let opencodeProviders = map getModelsFromProvider [ "opencode" "opencode-go" + "fireworks-ai" + "firepass" ]; openaiCompatibleProviders = builtins.listToAttrs ( 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 { pname = "ameba-ls"; version = "0.1.0"; @@ -138,7 +148,7 @@ in }; agent_servers = { OpenCode = { - command = lib.getExe opencode-wrapped; + command = "opencode"; args = [ "acp" ]; type = "custom"; }; @@ -199,6 +209,10 @@ in ]; }; }; + TypeScript.language_servers = [ + "tsgo" + "vtsls" + ]; }; lsp = with pkgs; { nixd.binary.path = lib.getExe nixd; @@ -344,7 +358,7 @@ in } { label = "opencode"; - command = lib.getExe opencode-wrapped; + command = "opencode"; reveal = "always"; allow_concurrent_runs = true; use_new_terminal = false;