{ lib, writeTextDir, buildEnv, extendedStdenv, direnv, coreutils }: { paths ? [ ], pathsToLink ? [ ], ... }@args: 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; })