#!/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 "$@"