python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / programs / npm.nix
blob48dc48e668f33718f1d8275ea6eb00719a5685c2
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.programs.npm;
7 in
10   ###### interface
12   options = {
13     programs.npm = {
14       enable = mkEnableOption (lib.mdDoc "{command}`npm` global config");
16       package = mkOption {
17         type = types.package;
18         description = lib.mdDoc "The npm package version / flavor to use";
19         default = pkgs.nodePackages.npm;
20         defaultText = literalExpression "pkgs.nodePackages.npm";
21         example = literalExpression "pkgs.nodePackages_13_x.npm";
22       };
24       npmrc = mkOption {
25         type = lib.types.lines;
26         description = lib.mdDoc ''
27           The system-wide npm configuration.
28           See <https://docs.npmjs.com/misc/config>.
29         '';
30         default = ''
31           prefix = ''${HOME}/.npm
32         '';
33         example = ''
34           prefix = ''${HOME}/.npm
35           https-proxy=proxy.example.com
36           init-license=MIT
37           init-author-url=http://npmjs.org
38           color=true
39         '';
40       };
41     };
42   };
44   ###### implementation
46   config = lib.mkIf cfg.enable {
47     environment.etc.npmrc.text = cfg.npmrc;
49     environment.variables.NPM_CONFIG_GLOBALCONFIG = "/etc/npmrc";
51     environment.systemPackages = [ cfg.package ];
52   };