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 64
|
{ stdenv
, pkgs
, 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";
nativeBuildInputs = with pkgs; [
(mkGoEnv { pwd = ./.; go = go; })
go
# Build
git
git-extras # for git-changelog
gnumake
go-md2man
gomod2nix
# Shells
bashInteractive
elvish
fish
tcsh
zsh
powershell
murex
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
'';
}
|