# Gradle's toolchain support does not work with IntelliJ, thus we have to use buildFHSUserEnv # https://discourse.nixos.org/t/how-to-create-a-development-environment-with-intellij-idea-and-openjdk/10153 # How to use `config.allowUnfree` in shell.nix # https://github.com/NixOS/nixpkgs/issues/166220#issuecomment-1745803058 { ### Import nixpkgs as channels ### # # nixpkgs stable #pkgs ? import { # # Required for IntelliJ Ultimate # config.allowUnfree = true; #}, # nixpkgs unstable #unstable ? import { } }: let ### Import nixpkgs with Niv ### # sources = import ./nix/sources.nix; # nixpkgs stable pkgs = import sources.nixpkgs { # Required for IntelliJ Ultimate config.allowUnfree = true; }; # nixpkgs unstable unstable = import sources.unstable { }; jdk = unstable.jdk23; gradle = unstable.gradle.override { java = jdk; # Required for `gradle javaToolchains` to list JDK23 javaToolchains = [ jdk ]; }; in ( pkgs.buildFHSUserEnv { name = "intellij-gradle-jdk23"; targetPkgs = pkgs_: [ pkgs_.jetbrains.idea-ultimate # IntelliJ needs at least one font installed. # If this shell.nix is run on a non-NixOS system, that might not be the case. # Thus, we manually add one font. pkgs_.noto-fonts jdk gradle ]; } ).env