# This Nix expression appends/modifies an existing attribute set # in order to define STATUS_REACT_HOME for use multiple derivations and scripts { pkgs, stdenv ? pkgs.stdenv }: # Declare a specialized mkShell function which adds some bootstrapping # so that e.g. STATUS_REACT_HOME is automatically available in the shell attrs: (pkgs.mkShell.override({ inherit stdenv; }) attrs) .overrideAttrs(super: rec { nativeBuildInputs = (super.nativeBuildInputs or [ ]) ++ [ pkgs.git ]; # avoid terinal issues TERM="xterm"; # default locale LANG="en_US.UTF-8"; LANGUAGE="en_US.UTF-8"; shellSetup = '' set -e if [ -z "$STATUS_REACT_HOME" ]; then export STATUS_REACT_HOME=$(git rev-parse --show-toplevel) fi export SHELL_SETUP=done set +e ''; shellHook = '' if [ -z "$SHELL_SETUP" ]; then ${shellSetup} fi ${super.shellHook or ""} ''; } )