nix-direnv has flake support \o/

This commit is contained in:
Charlotte Van Petegem 2020-09-11 15:03:17 +02:00
parent 2a76dc03ee
commit a4279dea27

View file

@ -5,27 +5,16 @@
{ path = ".local/share/direnv"; type = "cache"; }
];
nix.extraOptions = ''
keep-outputs = true
keep-derivations = true
'';
home-manager.users.charlotte = { ... }: {
programs.direnv = {
enable = true;
enableZshIntegration = true;
config = {
global = {
strict_env = true;
};
};
stdlib = ''
use_flake() {
watch_file flake.nix
watch_file flake.lock
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}"
}
'';
enableNixDirenvIntegration = true;
};
};
}