From af661e1be5bb8e03e0543be441a050f896c4e9af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 23 Jan 2026 23:05:09 +0100 Subject: [PATCH] languagetool: use minimal jre --- nixos/modules/services/misc/languagetool.nix | 13 ++++++---- pkgs/by-name/la/languagetool/package.nix | 25 ++++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/misc/languagetool.nix b/nixos/modules/services/misc/languagetool.nix index 938a937af6c4..21ad24ed55a9 100644 --- a/nixos/modules/services/misc/languagetool.nix +++ b/nixos/modules/services/misc/languagetool.nix @@ -55,8 +55,6 @@ in ''; }; - jrePackage = lib.mkPackageOption pkgs "jre" { }; - jvmOptions = lib.mkOption { description = '' Extra command line options for the JVM running languagetool. @@ -70,8 +68,15 @@ in }; }; - config = lib.mkIf cfg.enable { + imports = [ + (lib.mkRemovedOptionModule [ + "services" + "languagetool" + "jrePackage" + ] "The jre is now always taken from the package's jre attribute.") + ]; + config = lib.mkIf cfg.enable { systemd.services.languagetool = { description = "LanguageTool HTTP server"; wantedBy = [ "multi-user.target" ]; @@ -89,7 +94,7 @@ in ProtectHome = "yes"; Restart = "on-failure"; ExecStart = '' - ${cfg.jrePackage}/bin/java \ + ${lib.getExe cfg.package.jre} \ -cp ${cfg.package}/share/languagetool-server.jar \ ${toString cfg.jvmOptions} \ org.languagetool.server.HTTPServer \ diff --git a/pkgs/by-name/la/languagetool/package.nix b/pkgs/by-name/la/languagetool/package.nix index 544ee8ecce7a..9d9d3ab58ed8 100644 --- a/pkgs/by-name/la/languagetool/package.nix +++ b/pkgs/by-name/la/languagetool/package.nix @@ -2,20 +2,34 @@ lib, stdenv, fetchzip, - jre, + jre_minimal, makeWrapper, nixosTests, }: - +let + jre = jre_minimal.override { + modules = [ + "java.base" + "java.datatransfer" + "java.desktop" + "java.naming" + "java.sql" + "java.xml" + "jdk.httpserver" + ]; + }; +in stdenv.mkDerivation rec { - pname = "LanguageTool"; + pname = "languagetool"; version = "6.6"; src = fetchzip { url = "https://www.languagetool.org/download/LanguageTool-${version}.zip"; sha256 = "sha256-BNiUIk5h38oEM4IliHdy8rNmZY0frQ1RaFeJ7HI5nOI="; }; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jre ]; installPhase = '' @@ -35,7 +49,10 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests.languagetool = nixosTests.languagetool; + passthru = { + inherit jre; + tests.languagetool = nixosTests.languagetool; + }; meta = { homepage = "https://languagetool.org";