2024-12-14 09:37:14 +01:00
|
|
|
{
|
|
|
|
helix,
|
|
|
|
symlinkJoin,
|
2024-12-18 09:32:57 +01:00
|
|
|
makeWrapper,
|
2024-12-14 09:37:14 +01:00
|
|
|
pkgs,
|
2025-06-14 00:11:10 +02:00
|
|
|
}:
|
|
|
|
let
|
2024-12-14 09:37:14 +01:00
|
|
|
languageServers = [
|
|
|
|
# C & C++
|
|
|
|
pkgs.clang-tools
|
|
|
|
# Dart
|
|
|
|
pkgs.dart
|
|
|
|
# Go
|
|
|
|
pkgs.gopls
|
|
|
|
# Java
|
|
|
|
pkgs.jdt-language-server
|
|
|
|
# Kotlin
|
|
|
|
pkgs.kotlin-language-server
|
|
|
|
# Lua
|
|
|
|
pkgs.lua-language-server
|
|
|
|
# Nix
|
|
|
|
pkgs.nil
|
|
|
|
# Python
|
2025-01-03 21:38:44 +01:00
|
|
|
pkgs.basedpyright
|
|
|
|
pkgs.ruff
|
2024-12-14 09:37:14 +01:00
|
|
|
# Rust
|
|
|
|
pkgs.rust-analyzer
|
|
|
|
# Zig
|
|
|
|
pkgs.zls
|
|
|
|
# TypeScript
|
|
|
|
pkgs.nodePackages_latest.typescript-language-server
|
|
|
|
# Bash
|
|
|
|
pkgs.nodePackages_latest.bash-language-server
|
|
|
|
|
|
|
|
# HTML & CSS tooling
|
|
|
|
pkgs.emmet-ls
|
|
|
|
# HTML & CSS & JSON & ESLint
|
|
|
|
pkgs.vscode-langservers-extracted
|
|
|
|
|
|
|
|
# Markdown
|
|
|
|
pkgs.marksman
|
|
|
|
# LaTeX
|
|
|
|
pkgs.texlab
|
|
|
|
# Typst
|
|
|
|
pkgs.tinymist
|
|
|
|
|
|
|
|
# YAML
|
|
|
|
pkgs.yaml-language-server
|
|
|
|
# TOML
|
|
|
|
pkgs.taplo
|
|
|
|
];
|
|
|
|
|
|
|
|
debugAdapters = [
|
|
|
|
# C & C++
|
|
|
|
pkgs.lldb
|
|
|
|
# Go
|
|
|
|
pkgs.delve
|
|
|
|
];
|
|
|
|
|
|
|
|
clipboardProviders = [
|
|
|
|
pkgs.wl-clipboard
|
|
|
|
];
|
|
|
|
in
|
2025-06-14 00:11:10 +02:00
|
|
|
symlinkJoin {
|
|
|
|
inherit (helix)
|
|
|
|
pname
|
|
|
|
version
|
|
|
|
meta
|
|
|
|
passthru
|
|
|
|
;
|
2024-12-14 09:37:14 +01:00
|
|
|
|
2025-06-14 00:11:10 +02:00
|
|
|
paths = [ helix ];
|
2024-12-14 09:37:14 +01:00
|
|
|
|
2025-06-14 00:11:10 +02:00
|
|
|
buildInputs = [ makeWrapper ];
|
2024-12-14 09:37:14 +01:00
|
|
|
|
2025-06-14 00:11:10 +02:00
|
|
|
postBuild = ''
|
|
|
|
wrapProgram $out/bin/${helix.meta.mainProgram} \
|
|
|
|
--suffix PATH : ${pkgs.lib.makeBinPath (languageServers ++ debugAdapters ++ clipboardProviders)}
|
|
|
|
'';
|
|
|
|
}
|