From 3247594e7bac7298fe541212aea8645f7727325d Mon Sep 17 00:00:00 2001 From: Lukas Wurzinger Date: Sat, 14 Dec 2024 09:37:14 +0100 Subject: [PATCH] cleanup --- flake.nix | 82 +--------------------------------------- package.nix | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 81 deletions(-) create mode 100644 package.nix diff --git a/flake.nix b/flake.nix index 322b1cc..301611e 100644 --- a/flake.nix +++ b/flake.nix @@ -15,87 +15,7 @@ ); in { packages = forAllSupportedSystems (pkgs: { - default = let - package = pkgs.helix; - in - pkgs.symlinkJoin { - name = package.pname; - paths = [package]; - buildInputs = [pkgs.makeWrapper]; - postBuild = '' - wrapProgram $out/bin/${package.meta.mainProgram} \ - --suffix PATH : ${pkgs.lib.makeBinPath (builtins.attrValues { - # Language support - inherit - (pkgs) - # LSP - clang-tools - clojure-lsp - cmake-language-server - dart - docker-compose-language-service - dockerfile-language-server-nodejs - emmet-ls - gopls - jdt-language-server - kotlin-language-server - lua-language-server - marksman - nil - perlnavigator - pyright - rust-analyzer - taplo - terraform-ls - texlab - tinymist - vscode-langservers-extracted - yaml-language-server - zls - # DAP - omnisharp-roslyn - lldb - netcoredbg - delve - ; - inherit - (pkgs.nodePackages_latest) - # LSP - bash-language-server - graphql-language-service-cli - intelephense - svelte-language-server - typescript-language-server - ; - inherit - (pkgs.rubyPackages) - # LSP - solargraph - ; - inherit - (pkgs.python3Packages) - # LSP - python-lsp-server - ; - inherit - (pkgs.kdePackages) - # LSP - qtdeclarative - ; - inherit - (pkgs.ocamlPackages) - # LSP - ocaml-lsp - ; - # Clipboard support - inherit - (pkgs) - wl-clipboard - ; - })} - ''; - inherit (package) meta; - }; + default = pkgs.callPackage ./package.nix {}; }); }; } diff --git a/package.nix b/package.nix new file mode 100644 index 0000000..89e9d01 --- /dev/null +++ b/package.nix @@ -0,0 +1,107 @@ +{ + helix, + symlinkJoin, + pkgs, +}: let + languageServers = [ + # C & C++ + pkgs.clang-tools + # Clojure + pkgs.clojure-lsp + # Dart + pkgs.dart + # Go + pkgs.gopls + # Java + pkgs.jdt-language-server + # Kotlin + pkgs.kotlin-language-server + # Lua + pkgs.lua-language-server + # Nix + pkgs.nil + # Perl + pkgs.perlnavigator + # Python + pkgs.python3Packages.python-lsp-server + pkgs.python3Packages.python-lsp-ruff + # Rust + pkgs.rust-analyzer + # Zig + pkgs.zls + # C# + pkgs.omnisharp-roslyn + # PHP + pkgs.nodePackages_latest.intelephense + # TypeScript + pkgs.nodePackages_latest.typescript-language-server + # Ruby + pkgs.rubyPackages.solargraph + # OCaml + pkgs.ocamlPackages.ocaml-lsp + + # 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 + + # CMake + pkgs.cmake-language-server + # Docker + pkgs.docker-compose-language-service + pkgs.dockerfile-language-server-nodejs + # Terraform + pkgs.terraform-ls + + # YAML + pkgs.yaml-language-server + # TOML + pkgs.taplo + + # QML + pkgs.kdePackages.qtdeclarative + + # Svelte + pkgs.nodePackages_latest.svelte-language-server + + # GraphQL + pkgs.nodePackages_latest.graphql-language-service-cli + ]; + + debugAdapters = [ + # C & C++ + pkgs.lldb + # C# + pkgs.netcoredbg + # Go + pkgs.delve + ]; + + clipboardProviders = [ + pkgs.wl-clipboard + ]; +in + symlinkJoin { + name = helix.pname; + + paths = [helix]; + + buildInputs = [pkgs.makeWrapper]; + + postBuild = '' + wrapProgram $out/bin/${helix.meta.mainProgram} \ + --suffix PATH : ${pkgs.lib.makeBinPath (languageServers ++ debugAdapters ++ clipboardProviders)} + ''; + + inherit (helix) meta; + }