diff --git a/modules/plugins/languages/kotlin.nix b/modules/plugins/languages/kotlin.nix index dcb19a98..5637b4f4 100644 --- a/modules/plugins/languages/kotlin.nix +++ b/modules/plugins/languages/kotlin.nix @@ -4,7 +4,7 @@ lib, ... }: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption mkOption literalExpression; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.nvim.languages) diagnosticsToLua; @@ -15,21 +15,6 @@ cfg = config.vim.languages.kotlin; - # Creating a version of the LSP with access to the kotlin binary. - # This is necessary for the LSP to load the standard library - kotlinLspWithRuntime = pkgs.symlinkJoin { - name = "kotlin-language-server-with-runtime"; - paths = [ - pkgs.kotlin-language-server - pkgs.kotlin - ]; - buildInputs = [pkgs.makeWrapper]; - postBuild = '' - wrapProgram $out/bin/kotlin-language-server \ - --prefix PATH : ${pkgs.lib.makeBinPath [pkgs.kotlin]} - ''; - }; - defaultDiagnosticsProvider = ["ktlint"]; diagnosticsProviders = { ktlint = { @@ -59,7 +44,18 @@ in { package = mkOption { description = "kotlin_language_server package with Kotlin runtime"; type = package; - default = kotlinLspWithRuntime; + example = literalExpression '' + pkgs.symlinkJoin { + name = "kotlin-language-server-wrapped"; + paths = [pkgs.kotlin-language-server]; + nativeBuildInputs = [pkgs.makeWrapper]; + postBuild = ''' + wrapProgram $out/bin/kotlin-language-server \ + --prefix PATH : ''${pkgs.kotlin}/bin + '''; + }; + ''; + default = pkgs.kotlin-language-server; }; };