: "${XDG_CACHE_HOME:=$HOME/.cache}" declare -A direnv_layout_dirs function direnv_layout_dir() { local hash path echo "${direnv_layout_dirs[$PWD]:=$( hash="$(sha1sum - <<<"$PWD" | head -c40)" path="${PWD//[^a-zA-Z0-9]/-}" echo "${XDG_CACHE_HOME}/direnv/layouts/${hash}${path}" )}" }