dev/base: store direnv cache in $XDG_CACHE_HOME
Alan Pearce alan@alanpearce.eu
Wed, 12 Apr 2023 17:41:04 +0200
1 files changed, 10 insertions(+), 0 deletions(-)
M user/settings/development/base.nix → user/settings/development/base.nix
@@ -47,4 +47,14 @@ }; programs.zsh.initExtra = '' source ${direnvHook} ''; + xdg.configFile."direnv/direnvrc".text = '' + declare -A direnv_layout_dirs + direnv_layout_dir() { + echo "''${direnv_layout_dirs[$PWD]:=$( + local hash="$(${pkgs.coreutils}/bin/sha256sum - <<<"$\{PWD}" | cut -c-7)" + local path="''${PWD//[^a-zA-Z0-9]/-}" + echo "${config.xdg.cacheHome}/direnv/layouts/''${hash}''${path}" + )}" + } + ''; }