Compare commits
3 Commits
c767762ee0
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fb279eca0 | |||
| 0c8db23a3b | |||
| 14526f5419 |
10
default.nix
10
default.nix
@@ -1,4 +1,9 @@
|
|||||||
{ stdenv, direnv, term-test }:
|
{ stdenv
|
||||||
|
, direnv
|
||||||
|
, term-test ? null
|
||||||
|
, doCheck ? true
|
||||||
|
}:
|
||||||
|
assert doCheck -> term-test != null;
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "direnv-cache";
|
name = "direnv-cache";
|
||||||
@@ -8,6 +13,7 @@ stdenv.mkDerivation {
|
|||||||
make install PREFIX=$out
|
make install PREFIX=$out
|
||||||
'';
|
'';
|
||||||
checkInputs = [ term-test ];
|
checkInputs = [ term-test ];
|
||||||
doCheck = true;
|
inherit doCheck;
|
||||||
passthru = { direnvrc = ./direnvrc; };
|
passthru = { direnvrc = ./direnvrc; };
|
||||||
|
preferLocalBuild = true;
|
||||||
}
|
}
|
||||||
|
|||||||
16
direnv-cache
16
direnv-cache
@@ -70,9 +70,23 @@ getCacheFilePath() {
|
|||||||
echo "${cacheDir}/$(pwd | sha1sum | tr -d ' -')"
|
echo "${cacheDir}/$(pwd | sha1sum | tr -d ' -')"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switchToDirenvDir() {
|
||||||
|
# Find directory that contains the current .envrc. Allows direnv-cache to
|
||||||
|
# be called from subdirectories.
|
||||||
|
wd="$(pwd)"
|
||||||
|
|
||||||
|
if [[ -n $DIRENV_DIR ]]; then
|
||||||
|
wd="${DIRENV_DIR#-}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$wd"
|
||||||
|
}
|
||||||
|
|
||||||
cmd="$1"
|
cmd="$1"
|
||||||
|
|
||||||
if ! [[ -e .envrc ]]; then
|
switchToDirenvDir
|
||||||
|
|
||||||
|
if ! [[ -e ".envrc" ]]; then
|
||||||
echo "Error, no .envrc found in current directory"
|
echo "Error, no .envrc found in current directory"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user