From 6a0f0bf76e3ae80c1e180ba6f6c7fd3b8e91d2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Tue, 27 Aug 2024 13:11:01 +0200 Subject: [PATCH] feat(editors): add roslyn-language-server for Helix --- flake.lock | 26 +++++++++++++++++++++++++- flake.nix | 6 ++++++ home/editors/helix/default.nix | 6 ++++++ home/editors/lsp.nix | 4 +++- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index acce98f..7630384 100644 --- a/flake.lock +++ b/flake.lock @@ -550,7 +550,31 @@ "nixpkgs-unstable": "nixpkgs-unstable", "nvim-kitty-navigator": "nvim-kitty-navigator", "openwrt-imagebuilder": "openwrt-imagebuilder", - "pre-commit-hooks": "pre-commit-hooks" + "pre-commit-hooks": "pre-commit-hooks", + "roslyn-language-server": "roslyn-language-server" + } + }, + "roslyn-language-server": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724349014, + "narHash": "sha256-y4/cGk8BghBc59JDDAJDSlNzp66Iq5QYSnokBmOjQjc=", + "owner": "SofusA", + "repo": "roslyn-language-server", + "rev": "678374269437bd2e8bf7491487cbc60131113ef9", + "type": "github" + }, + "original": { + "owner": "SofusA", + "repo": "roslyn-language-server", + "type": "github" } }, "rust-overlay": { diff --git a/flake.nix b/flake.nix index 401910a..09b6507 100644 --- a/flake.nix +++ b/flake.nix @@ -79,6 +79,12 @@ rec { url = "github:astro/nix-openwrt-imagebuilder"; inputs.nixpkgs.follows = "nixpkgs"; }; + + roslyn-language-server = { + url = "github:SofusA/roslyn-language-server"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; }; outputs = diff --git a/home/editors/helix/default.nix b/home/editors/helix/default.nix index f5cac7e..03c9c61 100644 --- a/home/editors/helix/default.nix +++ b/home/editors/helix/default.nix @@ -22,6 +22,11 @@ in enable = true; package = pkgs.unstable.helix; languages.language = [ + { + name = "c-sharp"; + language-servers = [ "roslyn" ]; + auto-format = true; + } { name = "javascript"; language-servers = typescriptLanguageServers; @@ -135,6 +140,7 @@ in }; }; }; + roslyn.command = "roslyn-language-server"; statix = { command = "efm-langserver"; config = { diff --git a/home/editors/lsp.nix b/home/editors/lsp.nix index d902028..48592db 100644 --- a/home/editors/lsp.nix +++ b/home/editors/lsp.nix @@ -1,9 +1,11 @@ -{ config, pkgs, ... }: +{ inputs, pkgs, ... }: { home.packages = with pkgs; [ # language servers efm-langserver + unstable.roslyn-ls + inputs.roslyn-language-server.packages.${system}.roslyn-language-server omnisharp-roslyn nil unstable.nixd