diff --git a/lib/builders/build-fds-env.nix b/lib/builders/build-fds-env.nix index 2a3dcd16..d09e97d6 100644 --- a/lib/builders/build-fds-env.nix +++ b/lib/builders/build-fds-env.nix @@ -1,8 +1,23 @@ -{ buildEnv, extendedStdenv }: +{ lib, writeTextDir, buildEnv, extendedStdenv, direnv, coreutils }: { paths ? [ ], pathsToLink ? [ ], ... }@args: -buildEnv (args // { - paths = extendedStdenv ++ paths; +let + bashProfile = writeTextDir "/etc/bashrc" '' + # This should only be applied to interactive shells. + [[ $- == *i* ]] || return + + if [[ -n "$PS1" ]]; then + shopt -s checkwinsize + set +h + + PS1="\h $ " + + eval "$(${lib.getExe' direnv "direnv"} hook bash)" + eval "$(${lib.getExe' coreutils "dircolors"} --sh)" + fi + ''; +in buildEnv (args // { + paths = extendedStdenv ++ paths ++ [ bashProfile ]; pathsToLink = [ "/bin" "/etc" "/share" "/lib" "/libexec" ] ++ pathsToLink; })