chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / di / direnv / package.nix
blob6ff13328ebbf2192367673c3a34429b75cd3ed64
1 { lib, stdenv, fetchFromGitHub, buildGoModule, bash, fish, zsh }:
3 buildGoModule rec {
4   pname = "direnv";
5   version = "2.35.0";
7   src = fetchFromGitHub {
8     owner = "direnv";
9     repo = "direnv";
10     rev = "v${version}";
11     hash = "sha256-C4FkBS+2MZGGlpWb7ng4Aa9IvqEuY716M5h2W3b8N1E=";
12   };
14   vendorHash = "sha256-O2NZgWn00uKLstYPIj9LwyF4kmitJ1FXltazv8RrmZg=";
16   # we have no bash at the moment for windows
17   BASH_PATH =
18     lib.optionalString (!stdenv.hostPlatform.isWindows)
19     "${bash}/bin/bash";
21   # replace the build phase to use the GNUMakefile instead
22   buildPhase = ''
23     make BASH_PATH=$BASH_PATH
24   '';
26   installPhase = ''
27     make install PREFIX=$out
28   '';
30   nativeCheckInputs = [ fish zsh ];
32   checkPhase = ''
33     export HOME=$(mktemp -d)
34     make test-go test-bash test-fish test-zsh
35   '';
37   meta = with lib; {
38     description = "Shell extension that manages your environment";
39     longDescription = ''
40       Once hooked into your shell direnv is looking for an .envrc file in your
41       current directory before every prompt.
43       If found it will load the exported environment variables from that bash
44       script into your current environment, and unload them if the .envrc is
45       not reachable from the current path anymore.
47       In short, this little tool allows you to have project-specific
48       environment variables.
49     '';
50     homepage = "https://direnv.net";
51     license = licenses.mit;
52     maintainers = [ maintainers.zimbatm ];
53     mainProgram = "direnv";
54   };