mirror of
https://github.com/nix-community/nix-direnv.git
synced 2025-11-08 19:46:11 +01:00
commit
f4123add44
2 changed files with 20 additions and 13 deletions
11
default.nix
11
default.nix
|
|
@ -11,9 +11,9 @@ resholve.mkDerivation rec {
|
||||||
name = pname;
|
name = pname;
|
||||||
};
|
};
|
||||||
|
|
||||||
# drop min version checks which are redundant when built with nix
|
# skip min version checks which are redundant when built with nix
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i "/_require_version bash/,+2d" direnvrc
|
sed -i 1iNIX_DIRENV_SKIP_VERSION_CHECK=1 direnvrc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
@ -24,7 +24,7 @@ resholve.mkDerivation rec {
|
||||||
default = {
|
default = {
|
||||||
scripts = [ "share/${pname}/direnvrc" ];
|
scripts = [ "share/${pname}/direnvrc" ];
|
||||||
interpreter = "none";
|
interpreter = "none";
|
||||||
inputs = [ coreutils direnv nix ];
|
inputs = [ coreutils nix ];
|
||||||
fake = {
|
fake = {
|
||||||
builtin = [
|
builtin = [
|
||||||
"PATH_add"
|
"PATH_add"
|
||||||
|
|
@ -40,7 +40,10 @@ resholve.mkDerivation rec {
|
||||||
"shasum"
|
"shasum"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
keep."$cmd" = true;
|
keep = {
|
||||||
|
"$cmd" = true;
|
||||||
|
"$direnv" = true;
|
||||||
|
};
|
||||||
execer = [
|
execer = [
|
||||||
"cannot:${direnv}/bin/direnv"
|
"cannot:${direnv}/bin/direnv"
|
||||||
"cannot:${nix}/bin/nix"
|
"cannot:${nix}/bin/nix"
|
||||||
|
|
|
||||||
14
direnvrc
14
direnvrc
|
|
@ -39,7 +39,8 @@ _nix() {
|
||||||
_require_version() {
|
_require_version() {
|
||||||
local cmd=$1 version=$2 required=$3
|
local cmd=$1 version=$2 required=$3
|
||||||
if ! printf "%s\n" "$required" "$version" | sort --check=quiet --version-sort; then
|
if ! printf "%s\n" "$required" "$version" | sort --check=quiet --version-sort; then
|
||||||
_nix_direnv_fatal "minimum required $cmd version is $required (installed: $version)"
|
_nix_direnv_fatal \
|
||||||
|
"minimum required $(basename "$cmd") version is $required (installed: $version)"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -59,13 +60,16 @@ _nix_direnv_preflight() {
|
||||||
_nix_direnv_fatal '$direnv environment variable was not defined. Was this script run inside direnv?'
|
_nix_direnv_fatal '$direnv environment variable was not defined. Was this script run inside direnv?'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check command min versions, bash check uses $BASH_VERSION with _require_version
|
# check command min versions
|
||||||
# instead of _require_cmd_version because _require_cmd_version uses =~ operator which
|
if [[ -z ${NIX_DIRENV_SKIP_VERSION_CHECK:-} ]]; then
|
||||||
# would be a syntax error on bash < 3
|
# bash check uses $BASH_VERSION with _require_version instead of
|
||||||
|
# _require_cmd_version because _require_cmd_version uses =~ operator which would be
|
||||||
|
# a syntax error on bash < 3
|
||||||
_require_version bash "$BASH_VERSION" "$BASH_MIN_VERSION"
|
_require_version bash "$BASH_VERSION" "$BASH_MIN_VERSION"
|
||||||
# direnv stdlib defines $direnv
|
# direnv stdlib defines $direnv
|
||||||
_require_cmd_version "$direnv" "$DIRENV_MIN_VERSION"
|
_require_cmd_version "$direnv" "$DIRENV_MIN_VERSION"
|
||||||
_require_cmd_version nix "$NIX_MIN_VERSION"
|
_require_cmd_version nix "$NIX_MIN_VERSION"
|
||||||
|
fi
|
||||||
|
|
||||||
local layout_dir
|
local layout_dir
|
||||||
layout_dir=$(direnv_layout_dir)
|
layout_dir=$(direnv_layout_dir)
|
||||||
|
|
@ -219,7 +223,7 @@ _nix_direnv_watches() {
|
||||||
path=$(printf "$path")
|
path=$(printf "$path")
|
||||||
_watches+=("$path")
|
_watches+=("$path")
|
||||||
fi
|
fi
|
||||||
done < <(direnv show_dump "${DIRENV_WATCHES}")
|
done < <($direnv show_dump "${DIRENV_WATCHES}")
|
||||||
}
|
}
|
||||||
|
|
||||||
_nix_direnv_manual_reload=0
|
_nix_direnv_manual_reload=0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue