From ebe7f7b89779793518907181080dc293d88d5864 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sat, 14 Jun 2025 01:22:51 +0800 Subject: [PATCH] module(helix,zed): Add ty as python lsp for helix and zed --- home/modules/programs/helix/default.nix | 7 +++++++ home/modules/programs/zed.nix | 26 +++++++++++++++++++++++++ pkgs/editor-runtime.nix | 4 ++++ 3 files changed, 37 insertions(+) diff --git a/home/modules/programs/helix/default.nix b/home/modules/programs/helix/default.nix index 4854b82..ed41aef 100644 --- a/home/modules/programs/helix/default.nix +++ b/home/modules/programs/helix/default.nix @@ -45,6 +45,12 @@ "start" ]; }; + ty = { + command = "ty"; + args = [ + "server" + ]; + }; }; language = [ { @@ -122,6 +128,7 @@ language-servers = [ "pyright" "ruff" + "ty" ]; } { diff --git a/home/modules/programs/zed.nix b/home/modules/programs/zed.nix index cfb605a..93bc9ee 100644 --- a/home/modules/programs/zed.nix +++ b/home/modules/programs/zed.nix @@ -46,12 +46,38 @@ in { "typst" "xml" "zig" + "ty" + "ruff" ]; extraPackages = with pkgs; [ editor-runtime ]; userSettings = { + lsp = { + ty = { + binary = { + path = lib.getExe pkgs.ty; + arguments = ["server"]; + }; + }; + }; languages = { + Python = { + language_servers = ["ty" "ruff" "pyright"]; + formatter = [ + { + language_server = { + name = "ruff"; + }; + } + { + code_actions = { + "source.fixAll.ruff" = true; + "source.organizeImports.ruff" = true; + }; + } + ]; + }; Nix = { language_servers = ["nixd" "nil"]; formatter = { diff --git a/pkgs/editor-runtime.nix b/pkgs/editor-runtime.nix index d3f0250..a22e9f2 100644 --- a/pkgs/editor-runtime.nix +++ b/pkgs/editor-runtime.nix @@ -36,6 +36,7 @@ neocmakelsp, jdt-language-server, zls, + ty, }: symlinkJoin { name = "editor-runtime"; @@ -76,5 +77,8 @@ symlinkJoin { neocmakelsp jdt-language-server zls + ty ]; + postBuild = '' + ''; }