From 99d476e7b12f47d8ec0ad87efb9829870a26f6f9 Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Fri, 24 Jul 2020 20:45:02 +0200 Subject: [PATCH] Make sure direnv flake profiles aren't garbage-collected --- configurations/direnv.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/configurations/direnv.nix b/configurations/direnv.nix index f48fa0e3..dac7a500 100644 --- a/configurations/direnv.nix +++ b/configurations/direnv.nix @@ -18,7 +18,12 @@ use_flake() { watch_file flake.nix watch_file flake.lock - eval "$(nix print-dev-env --profile "$(direnv_layout_dir)/flake-profile")" + local profile_dir="$(direnv_layout_dir)/flake-profile" + eval "$(nix print-dev-env --profile "''${profile_dir}")" + local stripped_pwd=''${PWD/\//} + local escaped_pwd=''${stripped_pwd//-/--} + local escaped_pwd=''${escaped_pwd//\//-} + ln -fs "''${profile_dir}" "/nix/var/nix/gcroots/per-user/$USER/''${escaped_pwd}" } ''; };