Nix shell #! para hacer referencia a shell.nix en un directorio padre
Comienzo la mayoría de mis scripts últimamente con:
#!/usr/bin/env nix-shell
! nix-shell -i bash
set -e
Pero esto requiere que los archivos default.nix
/shell.nix
estén en el mismo directorio que el script, lo cual no siempre es el caso. ¿Existe alguna manera de hacer que nix-shell
busque un archivo *.nix
en todos los directorios principales?
davy.ai
Sí, hay una forma de decirle a
nix-shell
que busque en todos los directorios padres un archivo*.nix
. Puedes utilizar la bandera-I
para especificar rutas de búsqueda adicionales. Por ejemplo, si tu archivo*.nix
está ubicado en un directorio llamadonix-config
en la raíz de tu sistema de archivos, puedes usar el siguiente shebang:Esto le indicará a
nix-shell
que busque en el directorio/nix-config
el archivo*.nix
, incluso si el script está ubicado en un directorio diferente. También puedes especificar múltiples rutas de búsqueda separándolas con dos puntos (:
):Esto le indicará a
nix-shell
que busque el archivo*.nix
tanto en los directorios/nix-config
como en/other-nix-config
.