From 3a5115c86a4b1ea4a45df1180a5d36ed58689628 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Sun, 28 Nov 2021 20:36:42 +0700 Subject: [PATCH] user/direnv: clear cache on activation also changed the layout name to be a bit easier to find if need be --- modules/user/direnv.nix | 7 ++++++- res/direnvrc | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/user/direnv.nix b/modules/user/direnv.nix index 05e8909..3f54b94 100644 --- a/modules/user/direnv.nix +++ b/modules/user/direnv.nix @@ -1,4 +1,4 @@ -{ config, ...}: { +{ config, lib, ... }: { programs.direnv = { enable = true; nix-direnv = { @@ -8,4 +8,9 @@ programs.git.extraConfig.core.excludesFile = ".envrc"; # We can't use .source since hm manages this file too xdg.configFile."direnv/direnvrc".text = builtins.readFile ../../res/direnvrc; + home.activation = { + direnvClearCache = lib.hm.dag.entryAfter ["writeBoundary"] '' + $DRY_RUN_CMD rm -rf $VERBOSE_ARG $HOME/.cache/direnv/layouts + ''; + }; } diff --git a/res/direnvrc b/res/direnvrc index 59902be..6de68b0 100644 --- a/res/direnvrc +++ b/res/direnvrc @@ -4,5 +4,7 @@ direnv_layout_dir() { echo "${direnv_layout_dirs[$PWD]:=$( echo -n "$XDG_CACHE_HOME"/direnv/layouts/ echo -n "$PWD" | shasum | cut -d ' ' -f 1 + echo -n "-" + basename $PWD )}" }