Skip to content

Scala

languages.scala.enable

Whether to enable tools for Scala development.

Type: boolean

Default: false

Example: true

languages.scala.package

The Scala package to use.

Type: package

Default: pkgs.scala_3

languages.scala.dev.enable

Enable Scala development tools.

Type: boolean

Default: true

languages.scala.dev.formatter.enable

Enable scalafmt formatter.

Type: boolean

Default: true

languages.scala.dev.formatter.package

The scalafmt package to use.

Type: package

Default: pkgs.scalafmt.override { jre = java.jdk.package; }

languages.scala.dev.lsp.enable

Enable Metals language server (the standard LSP for Scala).

Type: boolean

Default: true

languages.scala.dev.lsp.package

The Metals package to use. Metals is the standard LSP implementation for Scala by Scalameta.

Type: package

Default: pkgs.metals.override { jre = java.jdk.package; }

languages.scala.mill.enable

Whether to enable mill, a simplified, fast build tool for Scala.

Type: boolean

Default: false

Example: true

languages.scala.mill.package

The mill package to use.

Type: package

Default: pkgs.mill

languages.scala.sbt.enable

Whether to enable sbt, the standard build tool for Scala.

Type: boolean

Default: false

Example: true

languages.scala.sbt.package

The sbt package to use.

Type: package

Default: pkgs.sbt

Example: sbt-with-scala-native