JVM

INFO

Try it out with codchi init <NAME> https://github.com/aformatik/codchi nixosModules.jvm.

General, Java & Kotlin

IntelliJ wants to download JDKs automatically, but they don't work on NixOS. Therefore you need to enable programs.java which sets $JAVA_HOME to the default JDK (OpenJDK) which IntelliJ can use. If multiple JDKs are needed, use programs.java.packages (an option added by Codchi) which installes them in ~/.jdks.

{ pkgs, ... }: { programs.java = { enable = true; # Set default JDK package = pkgs.jdk21; packages = { # Additional JDKs which get symlinked to ~/.jdks/<attribute name> (for e.g. IntelliJ) openjdk8 = pkgs.jdk8; # ... }; }; environment.systemPackages = [ pkgs.maven # If you want gradle globally installed # pkgs.gradle # IntelliJ Community # pkgs.jetbrains.idea-community # You can also install IJ with plugins (experimental). # For more information see <https://github.com/NixOS/nixpkgs/tree/nixos-24.05/pkgs/applications/editors/jetbrains> (with pkgs.jetbrains; plugins.addPlugins idea-community [ "nixidea" "ideavim" ]) ]; # For proprietary apps like IntelliJ Ultimate # nixpkgs.config.allowUnfree = true; }

Scala

{ pkgs, ... }: { # Will be recognized by IntelliJ environment.systemPackages = [ pkgs.scala pkgs.sbt ]; }

Eclipse

{ pkgs, ... }: { environment.systemPackages = [ pkgs.eclipses.eclipse-java # for JEE # pkgs.eclipses.eclipse-jee ]; }