python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / programs / java.nix
blob4f03c1f3ff258c3e9f1cc4427ecd08d2df669c21
1 # This module provides JAVA_HOME, with a different way to install java
2 # system-wide.
4 { config, lib, pkgs, ... }:
6 with lib;
8 let
9   cfg = config.programs.java;
14   options = {
16     programs.java = {
18       enable = mkEnableOption (lib.mdDoc "java") // {
19         description = lib.mdDoc ''
20           Install and setup the Java development kit.
22           ::: {.note}
23           This adds JAVA_HOME to the global environment, by sourcing the
24           jdk's setup-hook on shell init. It is equivalent to starting a shell
25           through 'nix-shell -p jdk', or roughly the following system-wide
26           configuration:
28               environment.variables.JAVA_HOME = ''${pkgs.jdk.home}/lib/openjdk;
29               environment.systemPackages = [ pkgs.jdk ];
30           :::
31         '';
32       };
34       package = mkOption {
35         default = pkgs.jdk;
36         defaultText = literalExpression "pkgs.jdk";
37         description = lib.mdDoc ''
38           Java package to install. Typical values are pkgs.jdk or pkgs.jre.
39         '';
40         type = types.package;
41       };
43     };
45   };
47   config = mkIf cfg.enable {
49     environment.systemPackages = [ cfg.package ];
51     environment.shellInit = ''
52       test -e ${cfg.package}/nix-support/setup-hook && source ${cfg.package}/nix-support/setup-hook
53     '';
55   };