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; }