40 lines
1.1 KiB
Nix
40 lines
1.1 KiB
Nix
|
#
|
||
|
# Defines the default shell that is used when target is not specified.
|
||
|
# It is also merged with all the other shells for a complete set of tools.
|
||
|
#
|
||
|
{ config ? {}
|
||
|
, pkgs ? import ./pkgs.nix { inherit config; } }:
|
||
|
|
||
|
let
|
||
|
inherit (pkgs) mkShell;
|
||
|
in mkShell {
|
||
|
name = "status-react-shell"; # for identifying all shells
|
||
|
|
||
|
buildInputs = with pkgs; lib.unique ([
|
||
|
# core utilities that should always be present in a shell
|
||
|
bash curl wget file unzip flock
|
||
|
git gnumake jq ncurses gnugrep parallel
|
||
|
lsof # used in start-react-native.sh
|
||
|
# build specific utilities
|
||
|
clojure maven watchman
|
||
|
# other nice to have stuff
|
||
|
yarn nodejs python27
|
||
|
] # and some special cases
|
||
|
++ lib.optionals stdenv.isDarwin [ cocoapods clang ]
|
||
|
++ lib.optionals (!stdenv.isDarwin) [ gcc8 ]
|
||
|
);
|
||
|
|
||
|
# avoid terminal issues
|
||
|
TERM="xterm";
|
||
|
|
||
|
# default locale
|
||
|
LANG="en_US.UTF-8";
|
||
|
LANGUAGE="en_US.UTF-8";
|
||
|
|
||
|
# just a nicety for easy access to node scripts
|
||
|
shellHook = ''
|
||
|
export STATUS_REACT_HOME=$(git rev-parse --show-toplevel)
|
||
|
export PATH="$STATUS_REACT_HOME/node_modules/.bin:$PATH"
|
||
|
'';
|
||
|
}
|