aboutsummaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/dev/default.nix4
-rwxr-xr-xpkgs/dev/dev.sh11
2 files changed, 8 insertions, 7 deletions
diff --git a/pkgs/dev/default.nix b/pkgs/dev/default.nix
index dfc0cd7..959be0c 100644
--- a/pkgs/dev/default.nix
+++ b/pkgs/dev/default.nix
@@ -12,7 +12,7 @@ with lib; let
)
devShells);
in
- stdenvNoCC.mkDerivation rec {
+ stdenvNoCC.mkDerivation {
name = "personal-devshells";
src = ./.;
@@ -22,4 +22,6 @@ in
--prefix PATH : ${lib.makeBinPath [bash nix]} \
--set DEV_SHELLS "${shells}"
'';
+
+ meta.mainProgram = "dev";
}
diff --git a/pkgs/dev/dev.sh b/pkgs/dev/dev.sh
index adf70f8..8546b85 100755
--- a/pkgs/dev/dev.sh
+++ b/pkgs/dev/dev.sh
@@ -1,18 +1,17 @@
#!/usr/bin/env bash
set -eu
-target="${1:-}"
-shift
+target="${1:-.}"
+[[ $# -eq 0 ]] || shift
declare -a nixargs
-known_shells="$(tr ':' '\n' <<<"${DEV_SHELLS:-}")"
-while IFS='=' read name drv res; do
+while IFS='=' read -r name drv _; do
if [ "$target" == "$name" ]; then
- target="$drv"
+ target="$drv^*"
# Note: no network should be needed as this should be available
nixargs+=("--offline")
break
fi
-done <<<"$known_shells"
+done < <(tr ':' '\n' <<<"${DEV_SHELLS:-}")
exec nix "${nixargs[@]}" develop "$target" -c zsh "$@"