Skip to content

Java

languages.java.enable

Whether to enable tools for Java development.

Type: boolean

Default: false

Example: true

languages.java.dev.enable

Enable Java development tools.

Type: boolean

Default: true

languages.java.dev.debugger.enable

Enable java-debug debugger.

Type: boolean

Default: true

languages.java.dev.debugger.package

The java-debug package to use.

Type: package

Default: pkgs.java-debug

languages.java.dev.formatter.enable

Enable google-java-format formatter.

Type: boolean

Default: true

languages.java.dev.formatter.package

The google-java-format package to use.

Type: package

Default: pkgs.google-java-format

languages.java.dev.lsp.enable

Enable jdt-language-server language server.

Type: boolean

Default: true

languages.java.dev.lsp.package

The jdt-language-server package to use.

By default, this uses Eclipse JDT Language Server, which is the most popular and feature-rich Java LSP implementation.

Alternative LSP servers available in nixpkgs:

  • vscode-extensions.redhat.java (Red Hat’s Java extension which includes JDT LS)
  • metals (for Scala/Java projects)

Note: vscode-javac and Apache NetBeans Java LSP are not currently packaged in nixpkgs.

Type: package

Default: pkgs.jdt-language-server

languages.java.gradle.enable

Whether to enable gradle.

Type: boolean

Default: false

Example: true

languages.java.gradle.package

The Gradle package to use. The Gradle package by default inherits the JDK from languages.java.jdk.package.

Type: package

Default: pkgs.gradle.override { java = cfg.jdk.package; }

languages.java.jdk.package

The JDK package to use. This will also become available as JAVA_HOME.

Type: package

Default: pkgs.jdk

Example: pkgs.jdk8

languages.java.maven.enable

Whether to enable maven.

Type: boolean

Default: false

Example: true

languages.java.maven.package

The Maven package to use. The Maven package by default inherits the JDK from languages.java.jdk.package.

Type: package

Default: pkgs.maven.override { jdk_headless = cfg.jdk.package; }