11 stdenv.mkDerivation (finalAttrs: {
12 pname = "bash-language-server";
15 src = fetchFromGitHub {
17 repo = "bash-language-server";
18 rev = "server-${finalAttrs.version}";
19 hash = "sha256-yJ81oGd9aNsWQMLvDSgMVVH1//Mw/SVFYFIPsJTQYzE=";
22 pnpmWorkspace = "bash-language-server";
23 pnpmDeps = pnpm_8.fetchDeps {
24 inherit (finalAttrs) pname version src pnpmWorkspace;
25 hash = "sha256-W25xehcxncBs9QgQBt17F5YHK0b+GDEmt27XzTkyYWg=";
46 --frozen-lockfile --ignore-script \
47 --filter=bash-language-server \
48 deploy $out/lib/bash-language-server
49 # Cleanup directory a bit, to save space, and make fixup phase a bit faster
50 rm -r $out/lib/bash-language-server/src
51 find $out/lib/bash-language-server -name '*.ts' -delete
53 $out/lib/bash-language-server/node_modules/.bin \
54 $out/lib/bash-language-server/node_modules/*/bin
56 # Create the executable, based upon what happens in npmHooks.npmInstallHook
57 makeWrapper ${lib.getExe nodejs} $out/bin/bash-language-server \
58 --suffix PATH : ${lib.makeBinPath [ shellcheck ]} \
60 --add-flags $out/lib/bash-language-server/out/cli.js
65 doInstallCheck = true;
68 description = "A language server for Bash";
69 homepage = "https://github.com/bash-lsp/bash-language-server";
70 license = licenses.mit;
71 maintainers = with maintainers; [ doronbehar ];
72 mainProgram = "bash-language-server";
73 platforms = platforms.all;