about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/language-servers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/language-servers')
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/beancount-language-server/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/ccls/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/crystalline/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/dot-language-server/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/emmet-language-server/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/fortls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/glslls/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/helm-ls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/jq-lsp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/lua-language-server/default.nix70
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/metals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/millet/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/neocmakelsp/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/nixd/default.nix242
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/openscad-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/postgres-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/pylyzer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/ruff-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/rune-languageserver/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/svls/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/typst-lsp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/verible/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/vhdl-ls/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/zls/default.nix1
26 files changed, 228 insertions, 163 deletions
diff --git a/nixpkgs/pkgs/development/tools/language-servers/beancount-language-server/default.nix b/nixpkgs/pkgs/development/tools/language-servers/beancount-language-server/default.nix
index aaebce089126..6fa51c782e6e 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/beancount-language-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/beancount-language-server/default.nix
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A Language Server Protocol (LSP) for beancount files";
+    description = "Language Server Protocol (LSP) for beancount files";
     mainProgram = "beancount-language-server";
     homepage = "https://github.com/polarmutex/beancount-language-server";
     license = with licenses; [ mit ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/ccls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/ccls/default.nix
index c2e6ed7a0ea5..175d2800e4c7 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/ccls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/ccls/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A c/c++ language server powered by clang";
+    description = "C/c++ language server powered by clang";
     mainProgram = "ccls";
     homepage    = "https://github.com/MaskRay/ccls";
     license     = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/crystalline/default.nix b/nixpkgs/pkgs/development/tools/language-servers/crystalline/default.nix
index ca885985025c..3687d1fc57a9 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/crystalline/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/crystalline/default.nix
@@ -40,7 +40,7 @@ crystal.buildCrystalPackage {
   '';
 
   meta = with lib; {
-    description = "A Language Server Protocol implementation for Crystal";
+    description = "Language Server Protocol implementation for Crystal";
     mainProgram = "crystalline";
     homepage = "https://github.com/elbywan/crystalline";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix b/nixpkgs/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
index f8f0043650f0..8c96dd227d7c 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/dockerfile-language-server-nodejs/default.nix
@@ -22,7 +22,7 @@ buildNpmPackage rec {
 
   meta = {
     changelog = "https://github.com/rcjsuen/dockerfile-language-server-nodejs/blob/${src.rev}/CHANGELOG.md";
-    description = "A language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies";
+    description = "Language server for Dockerfiles powered by Node.js, TypeScript, and VSCode technologies";
     homepage = "https://github.com/rcjsuen/dockerfile-language-server-nodejs";
     license = lib.licenses.mit;
     mainProgram = "docker-langserver";
diff --git a/nixpkgs/pkgs/development/tools/language-servers/dot-language-server/default.nix b/nixpkgs/pkgs/development/tools/language-servers/dot-language-server/default.nix
index cdadfd77a2ec..98d76d8d1aaa 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/dot-language-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/dot-language-server/default.nix
@@ -16,7 +16,7 @@ buildNpmPackage rec {
   npmBuildScript = "compile";
 
   meta = with lib; {
-    description = "A language server for the DOT language";
+    description = "Language server for the DOT language";
     mainProgram = "dot-language-server";
     homepage = "https://github.com/nikeee/dot-language-server";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/emmet-language-server/default.nix b/nixpkgs/pkgs/development/tools/language-servers/emmet-language-server/default.nix
index 09e08aa6477b..b6f32643376d 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/emmet-language-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/emmet-language-server/default.nix
@@ -22,7 +22,7 @@ buildNpmPackage rec {
   '';
 
   meta = with lib; {
-    description = "A language server for emmet.io";
+    description = "Language server for emmet.io";
     homepage = "https://github.com/olrtg/emmet-language-server";
     changelog = "https://github.com/olrtg/emmet-language-server/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/fortls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/fortls/default.nix
index ccb70db0727c..56172b812599 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/fortls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/fortls/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonApplication rec {
   pname = "fortls";
-  version = "3.0.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "fortran-lang";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-kRL4kLX1T2Sontl8f3VO8Hb7uI41JwhZBiH//gdcmNE=";
+    hash = "sha256-7imZLSE7USFXmv/V3olE698J8Q8a7cJt15nBKkPZJoU=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/glslls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/glslls/default.nix
index 3c282f1a23d1..0e78dd8502f7 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/glslls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/glslls/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = {
-    description = "A language server implementation for GLSL";
+    description = "Language server implementation for GLSL";
     mainProgram = "glslls";
     homepage = "https://github.com/svenstaro/glsl-language-server";
     license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/helm-ls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/helm-ls/default.nix
index 587a209562ab..73f2facc840e 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/helm-ls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/helm-ls/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "helm-ls";
-  version = "0.0.16";
+  version = "0.0.17";
 
   src = fetchFromGitHub {
     owner = "mrjosh";
     repo = "helm-ls";
     rev = "v${version}";
-    hash = "sha256-y4FYcago8tVK4ru6tLizEgOLsMuryFmJUa2D8fXulDg=";
+    hash = "sha256-c72QFlsCPBW4biTMh1nxQIEkKPjmSmxOD93Kzduswyo=";
   };
 
-  vendorHash = "sha256-ZeJeLpuac8ecKCOv2gXpT/P4GBFstB6lUaKOhQKFRAE=";
+  vendorHash = "sha256-jGC8JNlorw0FSc0HhFdUVZJDCNaX4PWPaFKRklufIsQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/language-servers/jq-lsp/default.nix b/nixpkgs/pkgs/development/tools/language-servers/jq-lsp/default.nix
index 6952bea00d63..ad43af981e39 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/jq-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/jq-lsp/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "jq-lsp";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "jq-lsp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a3ZqVWG7kjWQzL1efrKc4s4D14qD/+6JM26vaduxhWg=";
+    hash = "sha256-c7uK8WPM/h2PLVLFGeN66SztvzjBCgJje7L14+oErVU=";
   };
 
-  vendorHash = "sha256-bIe006I1ryvIJ4hC94Ux2YVdlmDIM4oZaK/qXafYYe0=";
+  vendorHash = "sha256-8sZGnoP7l09ZzLJqq8TUCquTOPF0qiwZcFhojUnnEIY=";
 
   # based on https://github.com/wader/jq-lsp/blob/master/.goreleaser.yml
   CGO_ENABLED = 0;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/lua-language-server/default.nix b/nixpkgs/pkgs/development/tools/language-servers/lua-language-server/default.nix
index 7b9ad09191d0..8bdcd20cdb53 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/lua-language-server/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/lua-language-server/default.nix
@@ -1,14 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, ninja, makeWrapper, CoreFoundation, Foundation, ditto }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  ninja,
+  makeWrapper,
+  CoreFoundation,
+  Foundation,
+  ditto,
+  nix-update-script,
+}:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lua-language-server";
-  version = "3.9.1";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
     owner = "luals";
     repo = "lua-language-server";
     rev = finalAttrs.version;
-    hash = "sha256-M4eTrs5Ue2+b40TPdW4LZEACGYCE/J9dQodEk9d+gpY=";
+    hash = "sha256-o3NRiJF9Cl420TYOZXC3JplKW5MYo/6nc0XPdukaly4=";
     fetchSubmodules = true;
   };
 
@@ -23,29 +33,29 @@ stdenv.mkDerivation (finalAttrs: {
     ditto
   ];
 
-  postPatch = ''
-    # filewatch tests are failing on darwin
-    # this feature is not used in lua-language-server
-    sed -i /filewatch/d 3rd/bee.lua/test/test.lua
-
-    pushd 3rd/luamake
-  '' + lib.optionalString stdenv.isDarwin ''
-    # This package uses the program clang for C and C++ files. The language
-    # is selected via the command line argument -std, but this do not work
-    # in combination with the nixpkgs clang wrapper. Therefor we have to
-    # find all c++ compiler statements and replace $cc (which expands to
-    # clang) with clang++.
-    sed -i compile/ninja/macos.ninja \
-      -e '/c++/s,$cc,clang++,' \
-      -e '/test.lua/s,= .*,= true,' \
-      -e '/ldl/s,$cc,clang++,'
-    sed -i scripts/compiler/gcc.lua \
-      -e '/cxx_/s,$cc,clang++,'
-  '';
+  postPatch =
+    ''
+      # filewatch tests are failing on darwin
+      # this feature is not used in lua-language-server
+      sed -i /filewatch/d 3rd/bee.lua/test/test.lua
 
-  ninjaFlags = [
-    "-fcompile/ninja/${if stdenv.isDarwin then "macos" else "linux"}.ninja"
-  ];
+      pushd 3rd/luamake
+    ''
+    + lib.optionalString stdenv.isDarwin ''
+      # This package uses the program clang for C and C++ files. The language
+      # is selected via the command line argument -std, but this do not work
+      # in combination with the nixpkgs clang wrapper. Therefor we have to
+      # find all c++ compiler statements and replace $cc (which expands to
+      # clang) with clang++.
+      sed -i compile/ninja/macos.ninja \
+        -e '/c++/s,$cc,clang++,' \
+        -e '/test.lua/s,= .*,= true,' \
+        -e '/ldl/s,$cc,clang++,'
+      sed -i scripts/compiler/gcc.lua \
+        -e '/cxx_/s,$cc,clang++,'
+    '';
+
+  ninjaFlags = [ "-fcompile/ninja/${if stdenv.isDarwin then "macos" else "linux"}.ninja" ];
 
   postBuild = ''
     popd
@@ -75,12 +85,18 @@ stdenv.mkDerivation (finalAttrs: {
   # some tests require local networking
   __darwinAllowLocalNetworking = true;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
-    description = "A language server that offers Lua language support";
+    description = "Language server that offers Lua language support";
     homepage = "https://github.com/luals/lua-language-server";
     changelog = "https://github.com/LuaLS/lua-language-server/blob/${finalAttrs.version}/changelog.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ figsoda gepbird sei40kr ];
+    maintainers = with maintainers; [
+      figsoda
+      gepbird
+      sei40kr
+    ];
     mainProgram = "lua-language-server";
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix b/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix
index 5f9d87d839d6..bfb8561f6caa 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "1.3.0";
+  version = "1.3.1";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-otN4sqV2a0itLOoJ7x+VSMe0tl3y4WVovbA1HOpZVDw=";
+    outputHash = "sha256-ugTYjXgD5SHagRtc1RNsnfcLAXPeWSHcos82ewr3UIs=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/millet/default.nix b/nixpkgs/pkgs/development/tools/language-servers/millet/default.nix
index 7de1523491bd..6ff7bb4c11ec 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/millet/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/millet/default.nix
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
   cargoTestFlags = [ "--package" "millet-ls" ];
 
   meta = with lib; {
-    description = "A language server for Standard ML";
+    description = "Language server for Standard ML";
     homepage = "https://github.com/azdavis/millet";
     changelog = "https://github.com/azdavis/millet/blob/v${version}/docs/CHANGELOG.md";
     license = [ licenses.mit /* or */ licenses.asl20 ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/neocmakelsp/default.nix b/nixpkgs/pkgs/development/tools/language-servers/neocmakelsp/default.nix
index de395b61fbfa..6797c2d43250 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/neocmakelsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/neocmakelsp/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "neocmakelsp";
-  version = "0.6.24";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "Decodetalkers";
     repo = "neocmakelsp";
     rev = "v${version}";
-    hash = "sha256-Zpaw0LCdluU76epHrRDQJw1cVptjR5IH8Ufy8yLVECo=";
+    hash = "sha256-oYvjMpZcXIpOA/osVCOy2NxkFnEQePGf4le22M1bFPA=";
   };
 
-  cargoHash = "sha256-Z3MdJdgR1oVPwTcq8rihHUXGkP38Ve/C+48NooeAWlo=";
+  cargoHash = "sha256-kcqq4xnCxGIGCFlmm4EDc9ZfQHBi6k/xrhIyZ+eKs34=";
 
   meta = with lib; {
-    description = "A cmake lsp based on tower-lsp and treesitter";
+    description = "Cmake lsp based on tower-lsp and treesitter";
     homepage = "https://github.com/Decodetalkers/neocmakelsp";
     license = licenses.mit;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/nixd/default.nix b/nixpkgs/pkgs/development/tools/language-servers/nixd/default.nix
index 86325a6815b3..6803b0761c1b 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/nixd/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/nixd/default.nix
@@ -1,103 +1,153 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, nix-update-script
-, bison
-, boost182
-, flex
-, fmt
-, gtest
-, libbacktrace
-, lit
-, llvmPackages
-, meson
-, ninja
-, nix
-, nixpkgs-fmt
-, pkg-config
-, testers
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  boost182,
+  gtest,
+  llvmPackages,
+  meson,
+  ninja,
+  nix,
+  nix-update-script,
+  nixd,
+  nixf,
+  nixt,
+  nlohmann_json,
+  pkg-config,
+  testers,
 }:
 
-stdenv.mkDerivation (finalAttrs: {
-  pname = "nixd";
-  version = "2.1.2";
+let
+  common = rec {
+    version = "2.2.1";
 
-  src = fetchFromGitHub {
-    owner = "nix-community";
-    repo = "nixd";
-    rev = finalAttrs.version;
-    hash = "sha256-A6hoZ4fbWxd7Mx+r3e1HEw2IPaAn4WcMEIocy/ZCz28=";
-  };
-
-  mesonBuildType = "release";
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    bison
-    flex
-  ];
-
-  nativeCheckInputs = [
-    lit
-    nixpkgs-fmt
-  ];
-
-  buildInputs = [
-    libbacktrace
-    nix
-    fmt
-    gtest
-    boost182
-    llvmPackages.llvm
-  ];
-
-  env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
-
-  # https://github.com/nix-community/nixd/issues/215
-  doCheck = !stdenv.isDarwin;
-
-  checkPhase = ''
-    runHook preCheck
-    dirs=(store var var/nix var/log/nix etc home)
-
-    for dir in $dirs; do
-      mkdir -p "$TMPDIR/$dir"
-    done
-
-    export NIX_STORE_DIR=$TMPDIR/store
-    export NIX_LOCALSTATE_DIR=$TMPDIR/var
-    export NIX_STATE_DIR=$TMPDIR/var/nix
-    export NIX_LOG_DIR=$TMPDIR/var/log/nix
-    export NIX_CONF_DIR=$TMPDIR/etc
-    export HOME=$TMPDIR/home
-
-    # Disable nixd regression tests, because it uses some features provided by
-    # nix, and does not correctly work in the sandbox
-    meson test --print-errorlogs  unit/libnixf/Basic unit/libnixf/Parse unit/libnixt
-    runHook postCheck
-  '';
-
-  passthru.updateScript = nix-update-script { };
-
-  passthru.tests = {
-    version = testers.testVersion {
-      package = finalAttrs.finalPackage;
+    src = fetchFromGitHub {
+      owner = "nix-community";
+      repo = "nixd";
+      rev = version;
+      hash = "sha256-Y5MB3BQBRkSe+10enlric1GTmJCN36clbOSos6fzoRM=";
     };
-    pkg-config = testers.hasPkgConfigModules {
-      package = finalAttrs.finalPackage;
-      moduleNames = [ "libnixf" "libnixt" ];
+
+    nativeBuildInputs = [
+      meson
+      ninja
+      pkg-config
+    ];
+
+    mesonBuildType = "release";
+
+    strictDeps = true;
+
+    doCheck = true;
+
+    meta = {
+      homepage = "https://github.com/nix-community/nixd";
+      changelog = "https://github.com/nix-community/nixd/releases/tag/${version}";
+      license = lib.licenses.lgpl3Plus;
+      maintainers = with lib.maintainers; [
+        inclyc
+        Ruixi-rebirth
+        aleksana
+      ];
+      platforms = lib.platforms.unix;
     };
   };
+in
+{
+  nixf = stdenv.mkDerivation (
+    common
+    // {
+      pname = "nixf";
 
-  meta = {
-    description = "Nix language server";
-    homepage = "https://github.com/nix-community/nixd";
-    changelog = "https://github.com/nix-community/nixd/releases/tag/${finalAttrs.version}";
-    license = lib.licenses.lgpl3Plus;
-    maintainers = with lib.maintainers; [ inclyc Ruixi-rebirth ];
-    mainProgram = "nixd";
-    platforms = lib.platforms.unix;
-  };
-})
+      sourceRoot = "${common.src.name}/libnixf";
+
+      outputs = [
+        "out"
+        "dev"
+      ];
+
+      buildInputs = [
+        gtest
+        boost182
+        nlohmann_json
+      ];
+
+      passthru.tests.pkg-config = testers.hasPkgConfigModules {
+        package = nixf;
+        moduleNames = [ "nixf" ];
+      };
+
+      meta = common.meta // {
+        description = "Nix language frontend, parser & semantic analysis";
+        mainProgram = "nixf-tidy";
+      };
+    }
+  );
+
+  nixt = stdenv.mkDerivation (
+    common
+    // {
+      pname = "nixt";
+
+      sourceRoot = "${common.src.name}/libnixt";
+
+      outputs = [
+        "out"
+        "dev"
+      ];
+
+      buildInputs = [
+        nix
+        gtest
+        boost182
+      ];
+
+      env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
+
+      passthru.tests.pkg-config = testers.hasPkgConfigModules {
+        package = nixt;
+        moduleNames = [ "nixt" ];
+      };
+
+      meta = common.meta // {
+        description = "Supporting library that wraps C++ nix";
+      };
+    }
+  );
+
+  nixd = stdenv.mkDerivation (
+    common
+    // {
+      pname = "nixd";
+
+      sourceRoot = "${common.src.name}/nixd";
+
+      buildInputs = [
+        nix
+        nixf
+        nixt
+        llvmPackages.llvm
+        gtest
+        boost182
+      ];
+
+      nativeBuildInputs = common.nativeBuildInputs ++ [ cmake ];
+
+      env.CXXFLAGS = "-include ${nix.dev}/include/nix/config.h";
+
+      # See https://github.com/nix-community/nixd/issues/519
+      doCheck = false;
+
+      passthru = {
+        updateScript = nix-update-script { };
+        tests.version = testers.testVersion { package = nixd; };
+      };
+
+      meta = common.meta // {
+        description = "Feature-rich Nix language server interoperating with C++ nix";
+        mainProgram = "nixd";
+      };
+    }
+  );
+}
diff --git a/nixpkgs/pkgs/development/tools/language-servers/openscad-lsp/default.nix b/nixpkgs/pkgs/development/tools/language-servers/openscad-lsp/default.nix
index 5b93b979cf3d..9991f9571d35 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/openscad-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/openscad-lsp/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "A LSP (Language Server Protocol) server for OpenSCAD";
+    description = "LSP (Language Server Protocol) server for OpenSCAD";
     mainProgram = "openscad-lsp";
     homepage = "https://github.com/Leathong/openscad-LSP";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/postgres-lsp/default.nix b/nixpkgs/pkgs/development/tools/language-servers/postgres-lsp/default.nix
index 33855391ea5a..b267442cae83 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/postgres-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/postgres-lsp/default.nix
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
   RUSTC_BOOTSTRAP = 1; # We need rust unstable features
 
   meta = with lib; {
-    description = "A Language Server for Postgres";
+    description = "Language Server for Postgres";
     homepage = "https://github.com/supabase/postgres_lsp";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/pylyzer/default.nix b/nixpkgs/pkgs/development/tools/language-servers/pylyzer/default.nix
index 92607901caf5..95814084800d 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/pylyzer/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/pylyzer/default.nix
@@ -66,7 +66,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A fast static code analyzer & language server for Python";
+    description = "Fast static code analyzer & language server for Python";
     homepage = "https://github.com/mtshiba/pylyzer";
     changelog = "https://github.com/mtshiba/pylyzer/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/tools/language-servers/ruff-lsp/default.nix b/nixpkgs/pkgs/development/tools/language-servers/ruff-lsp/default.nix
index 4cfcb4c6e064..cf14e0243544 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/ruff-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/ruff-lsp/default.nix
@@ -65,7 +65,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     changelog = "https://github.com/astral-sh/ruff-lsp/releases/tag/v${version}";
-    description = "A Language Server Protocol implementation for Ruff";
+    description = "Language Server Protocol implementation for Ruff";
     homepage = "https://github.com/astral-sh/ruff-lsp";
     license = licenses.mit;
     mainProgram = "ruff-lsp";
diff --git a/nixpkgs/pkgs/development/tools/language-servers/rune-languageserver/default.nix b/nixpkgs/pkgs/development/tools/language-servers/rune-languageserver/default.nix
index 32bec82979e9..3ae9c3ac43be 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/rune-languageserver/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/rune-languageserver/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
-    description = "A language server for the Rune Language, an embeddable dynamic programming language for Rust";
+    description = "Language server for the Rune Language, an embeddable dynamic programming language for Rust";
     homepage = "https://crates.io/crates/rune-languageserver";
     changelog = "https://github.com/rune-rs/rune/releases/tag/${version}";
     license = with licenses; [ asl20 mit ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/svls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/svls/default.nix
index fc4ebb51e1ca..6faefffee2f5 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/svls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/svls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svls";
-  version = "0.2.11";
+  version = "0.2.12";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svls";
     rev = "v${version}";
-    sha256 = "sha256-pvvtJOwb9N7CzCXoLG19iuLQjABABaOUe6wKfYizgQc=";
+    sha256 = "sha256-DuwH0qie8SctvOGntljOdTRMGKrNFPycdaFG3QZxihA=";
   };
 
-  cargoHash = "sha256-sMprdvBSfCIzoTHyUC447pyZWGgZkKa9t3A9BiGbQvY=";
+  cargoHash = "sha256-vDpuIWB5pbhYrFgQ1ogALMJpZvy8ETZtneX1fjpjl+0=";
 
   meta = with lib; {
     description = "SystemVerilog language server";
diff --git a/nixpkgs/pkgs/development/tools/language-servers/typst-lsp/default.nix b/nixpkgs/pkgs/development/tools/language-servers/typst-lsp/default.nix
index 1945a71863a7..59b81f5989f0 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/typst-lsp/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/typst-lsp/default.nix
@@ -45,7 +45,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A brand-new language server for Typst";
+    description = "Brand-new language server for Typst";
     homepage = "https://github.com/nvarner/typst-lsp";
     mainProgram = "typst-lsp";
     changelog = "https://github.com/nvarner/typst-lsp/releases/tag/${src.rev}";
diff --git a/nixpkgs/pkgs/development/tools/language-servers/verible/default.nix b/nixpkgs/pkgs/development/tools/language-servers/verible/default.nix
index 4809b85e2e5b..6e6c7d621cbd 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/verible/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/verible/default.nix
@@ -87,7 +87,7 @@ buildBazelPackage rec {
   };
 
   meta = with lib; {
-    description = "Suite of SystemVerilog developer tools. Including a style-linter, indexer, formatter, and language server.";
+    description = "Suite of SystemVerilog developer tools. Including a style-linter, indexer, formatter, and language server";
     homepage = "https://github.com/chipsalliance/verible";
     license = licenses.asl20;
     maintainers = with maintainers; [ hzeller newam ];
diff --git a/nixpkgs/pkgs/development/tools/language-servers/vhdl-ls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/vhdl-ls/default.nix
index f879e400896a..dabd9484499a 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/vhdl-ls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/vhdl-ls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vhdl-ls";
-  version = "0.80.0";
+  version = "0.81.0";
 
   src = fetchFromGitHub {
     owner = "VHDL-LS";
     repo = "rust_hdl";
     rev = "v${version}";
-    hash = "sha256-3p6SmmNnuPoHbA0QmfgvO342AhRx5dI9q4YXypi/2k0=";
+    hash = "sha256-iF8HIfxC7WM5YT85HfCTM5hu5yCFnHpDposGDAO3qJI=";
   };
 
-  cargoHash = "sha256-zAz33P5k6wmQej8u45+lXKHSRVaZhrB5L0jUPjs44W8=";
+  cargoHash = "sha256-hkmaMzeQLd3l6A3xyLAZk+MrEeUKPd7H2N4Nsz7nBmk=";
 
   postPatch = ''
     substituteInPlace vhdl_lang/src/config.rs \
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = {
-    description = "A fast VHDL language server";
+    description = "Fast VHDL language server";
     homepage = "https://github.com/VHDL-LS/rust_hdl";
     license = lib.licenses.mpl20;
     mainProgram = "vhdl_ls";
diff --git a/nixpkgs/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix b/nixpkgs/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
index 2743bdac8073..9046d7588011 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/vscode-langservers-extracted/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "vscode-langservers-extracted";
-  version = "4.9.0";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "hrsh7th";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-4qAQa8Pt7Br0T770ck2F912ZddrzgTKEliSAP/qLvgE=";
+    hash = "sha256-3m9+HZY24xdlLcFKY/5DfvftqprwLJk0vve2ZO1aEWk=";
   };
 
-  npmDepsHash = "sha256-2rRyg+UO3wnq5CuG5q87YOdGng9zBTh9aXueB0xf8ps=";
+  npmDepsHash = "sha256-XGlFtmikUrnnWXsAYzTqw2K7Y2O0bUtYug0xXFIASBQ=";
 
   buildPhase =
     let
diff --git a/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
index 71a9a53a3fee..1642d495b1d8 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchurl
 , zig_0_12
 , callPackage
 }: