22 lines
620 B
Plaintext
22 lines
620 B
Plaintext
|
#!/bin/sh
|
||
|
fns () {
|
||
|
pkgs=$FISH_NIX_SHELL_PKGS
|
||
|
for arg in "$@"; do
|
||
|
if [[ $arg == -* ]]; then
|
||
|
pkg=
|
||
|
if [[ $arg == --pure ]] || [[ $arg == --command ]] || [[ $arg == --run ]]; then
|
||
|
command nix-shell $@
|
||
|
return
|
||
|
elif [[ $arg == -p ]] || [[ $arg == --packages ]]; then
|
||
|
pkg=1
|
||
|
fi
|
||
|
elif [[ $pkg == 1 ]]; then
|
||
|
pkgs+=" "$arg
|
||
|
fi
|
||
|
done
|
||
|
if [[ -n $name ]] && [[ $name != shell ]]; then
|
||
|
pkgs+=" "$name
|
||
|
fi
|
||
|
env FISH_NIX_SHELL_PKGS="$pkgs" nix-shell "$@" --command fish
|
||
|
}
|
||
|
fns "$@"
|