{ pkgs, ... }:

{
  programs.gradle = {
    enable = true;

    initScripts = {
      "inline-init-script.gradle".text = ''
        println 'inline-init-script'
      '';
      "external-init-script.gradle".source = ./external-init-script.gradle;
    };
  };

  programs.java.package =
    pkgs.runCommandLocal "java" { home = ""; } "mkdir $out";

  nmt.script = ''
    assertFileExists home-files/.gradle/init.d/inline-init-script.gradle
    assertFileContent home-files/.gradle/init.d/inline-init-script.gradle ${
      pkgs.writeText "gradle.expected" ''
        println 'inline-init-script'
      ''
    }

    assertFileExists home-files/.gradle/init.d/external-init-script.gradle
    assertFileContent home-files/.gradle/init.d/external-init-script.gradle ${
      ./external-init-script.gradle
    }
  '';
}