hxwrap/package.nix

79 lines
1.3 KiB
Nix
Raw Normal View History

2024-12-14 08:37:14 +00:00
{
helix,
symlinkJoin,
2024-12-18 08:32:57 +00:00
makeWrapper,
2024-12-14 08:37:14 +00:00
pkgs,
}: let
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 20:38:44 +00:00
pkgs.basedpyright
pkgs.ruff
2024-12-14 08:37:14 +00: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
2025-04-13 11:40:27 +00:00
# Markdown zk
pkgs.zk
2024-12-14 08:37:14 +00:00
# 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
symlinkJoin {
2025-04-13 11:21:24 +00:00
inherit (helix) pname version meta passthru;
2024-12-14 08:37:14 +00:00
paths = [helix];
2024-12-18 08:32:57 +00:00
buildInputs = [makeWrapper];
2024-12-14 08:37:14 +00:00
postBuild = ''
wrapProgram $out/bin/${helix.meta.mainProgram} \
2024-12-21 17:08:11 +00:00
--suffix PATH : ${pkgs.lib.makeBinPath (
languageServers ++ debugAdapters ++ clipboardProviders
)}
2024-12-14 08:37:14 +00:00
'';
}