forked from direnv/direnv
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
63 lines (58 loc) · 807 Bytes
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{ stdenv
, mkGoEnv
, gomod2nix
, git
, git-extras
, gnumake
, go
, go-md2man
, gox
, bashInteractive
, elvish
, fish
, tcsh
, zsh
, powershell
, murex
, golangci-lint
, python3
, ruby
, shellcheck
, shfmt
, cacert
}:
stdenv.mkDerivation {
name = "shell";
buildInputs = [
(mkGoEnv { pwd = ./.; })
# Build
git
git-extras # for git-changelog
gnumake
go
go-md2man
gox
gomod2nix
# Shells
bashInteractive
elvish
fish
tcsh
zsh
powershell
murex
# Test dependencies
golangci-lint
python3
ruby
shellcheck
shfmt
];
shellHook = ''
unset GOPATH GOROOT
# needed in pure shell
export HOME=''${HOME:-$TMPDIR}
export GO111MODULE=on
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
'';
}