diff options
author | Jade Lovelace <lix@jade.fyi> | 2024-06-24 13:37:41 -0700 |
---|---|---|
committer | Jade Lovelace <lix@jade.fyi> | 2024-06-24 13:41:38 -0700 |
commit | d5637ee790799ffa00bcaa3067bb6940b6cbad16 (patch) | |
tree | 9caf65927a09f7f07d781f0ac0e062cc8b8ccc18 /package.nix | |
parent | eb5de71adc7d376036dbf5c526300e8d20d2794e (diff) |
devShell: guard against running from another directory
I was working on nix-eval-jobs with a dev shell with some shenanigans to
run against a locally built Lix and it was getting really annoying when
`nix develop ../lix#` was messing up my other git repo's hooks.
This is a fix via blunt force, but it is at least obvious how it works.
Change-Id: Ia29eeb5be57ab6a2c88451c00ea18a51e4dfe65e
Diffstat (limited to 'package.nix')
-rw-r--r-- | package.nix | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/package.nix b/package.nix index ef6f317e8..988379618 100644 --- a/package.nix +++ b/package.nix @@ -476,7 +476,7 @@ stdenv.mkDerivation (finalAttrs: { # https://git.lix.systems/lix-project/lix/src/commit/7575db522e9008685c4009423398f6900a16bcce/src/nix/develop.cc#L240-L241 # this is, of course, absurd. if [[ $name != lix-shell-env && $name != lix-shell-env-env ]]; then - return; + return fi PATH=$prefix/bin:$PATH @@ -486,6 +486,11 @@ stdenv.mkDerivation (finalAttrs: { # Make bash completion work. XDG_DATA_DIRS+=:$out/share + if [[ ! -f ./.this-is-lix ]]; then + echo "Dev shell not started from inside a Lix repo, skipping repo setup" >&2 + return + fi + ${lib.optionalString (pre-commit-checks ? shellHook) pre-commit-checks.shellHook} # Allow `touch .nocontribmsg` to turn this notice off. if ! [[ -f .nocontribmsg ]]; then |