The current shell scripts (keygen.sh and yubicopy.sh) use nix-shell because they can be useful outside the USB drive too. But using them first time after booting into the USB drive will require Internet access to download some dev packages, which are actually not needed for running them.
To enable a fully functional offline setup, we should package the shell scripts properly as a nix derivation that can be separately installed.