aboutsummaryrefslogtreecommitdiff
path: root/user/direnv/direnvrc
diff options
context:
space:
mode:
Diffstat (limited to 'user/direnv/direnvrc')
-rw-r--r--user/direnv/direnvrc12
1 files changed, 12 insertions, 0 deletions
diff --git a/user/direnv/direnvrc b/user/direnv/direnvrc
new file mode 100644
index 0000000..f64197b
--- /dev/null
+++ b/user/direnv/direnvrc
@@ -0,0 +1,12 @@
+# direnv by default puts its cache in .direnv/ next to the .envrc.
+# I rather have my caches in ~/.cache.
+: "${XDG_CACHE_HOME:="${HOME}/.cache"}"
+declare -A direnv_layout_dirs
+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}"
+ )}"
+}