es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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 llamado nix-config en la raíz de tu sistema de archivos, puedes usar el siguiente shebang:

    #!/usr/bin/env nix-shell
    #! nix-shell -i bash -I /nix-config
    set -e
    

    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 (:):

    #!/usr/bin/env nix-shell
    #! nix-shell -i bash -I /nix-config:/other-nix-config
    set -e
    

    Esto le indicará a nix-shell que busque el archivo *.nix tanto en los directorios /nix-config como en /other-nix-config.

Comments are closed.