45 lines
1.3 KiB
Nix
45 lines
1.3 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-mobile-shell"; # for identifying all shells
|
|
|
|
buildInputs = let
|
|
appleSDKFrameworks = (with pkgs.darwin.apple_sdk.frameworks; [
|
|
IOKit CoreServices
|
|
]);
|
|
in
|
|
with pkgs; lib.unique ([
|
|
# core utilities that should always be present in a shell
|
|
bash curl wget file unzip flock procps
|
|
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 python310
|
|
] # and some special cases
|
|
++ lib.optionals stdenv.isDarwin ([ cocoapods clang tcl ] ++ appleSDKFrameworks)
|
|
++ 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_MOBILE_HOME=$(git rev-parse --show-toplevel)
|
|
export PATH="$STATUS_MOBILE_HOME/node_modules/.bin:$PATH"
|
|
'';
|
|
}
|