#shellcheck shell=bash use_pkgs() { if ! has nix; then # shellcheck disable=2016 log_error 'use_pkgs: `nix` is not in PATH' return 1 fi local DEFAULT_FLAKE="pkgs" # Allow changing the default flake through a command line switch if [ "$1" = "-f" ] || [ "$1" = "--flake" ]; then DEFAULT_FLAKE="$2" shift 2 fi # Allow specifying a full installable, or just a package name and use the default flake local packages=() for pkg; do if [[ $pkg =~ .*#.* ]]; then packages+=("$pkg") else packages+=("$DEFAULT_FLAKE#$pkg") fi done # shellcheck disable=2154 direnv_load nix shell "${packages[@]}" --command "$direnv" dump }