En esta página, se incluyen detalles sobre el esquema del archivo de configuración del entorno de tu lugar de trabajo, que siempre debe estar ubicado en .idx/dev.nix
.
Para obtener más información sobre el lenguaje Nix, consulta el instructivo oficial sobre el lenguaje Nix.
paquetes
Paquetes para instalar en el entorno.
Puedes usar el argumento pkgs
para seleccionar los paquetes que deseas instalar, por ejemplo, pkgs.python3
. Ten en cuenta que el contenido de pkgs
depende de la opción de canal channel
seleccionada.
Ejemplo:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Puedes buscar los paquetes disponibles aquí: stable-23.11 o unstable.
Tipo: lista de paquetes
Valor predeterminado: [ ]
canal
nixpkgs para usar.
Este canal define el contenido del argumento pkgs
.
Tipo: una de las siguientes opciones: "stable-23.05", "stable-23.11", "unstable"
Valor predeterminado: "stable-23.11"
env
Variables de entorno que se establecen dentro del entorno de desarrollador.
Estas se propagan a todas tus shells y al servidor de vista previa. Las variables de entorno pueden ser especialmente útiles si tu aplicación requiere un conjunto específico de variables.
Ejemplo:
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
Tipo: Conjunto de atributos
Valor predeterminado: { }
idx.extensions
Extensiones de código que quieres instalar en tu lugar de trabajo de IDX.
Esta es una lista de IDs de extensión completamente calificados, por ejemplo, ${publisherId}.${extensionId}
.
Puedes encontrar una lista de las extensiones disponibles en Open VSX Registry y, luego, ingresarlas en tu archivo dev.nix
antes del ${publisherId}.${extensionId}
.
Tipo: Lista de (string o ruta no vacía)
Valor predeterminado: [ ]
idx.previews.enable
Configúralo como true
para habilitar las vistas previas de IDX.
Esta función proporciona una forma de ejecutar y volver a cargar tus apps automáticamente a medida que las desarrollas.
Tipo: booleano
Valor predeterminado: true
Ejemplo: true
.
idx.previews.previews
Vista previa de los parámetros de configuración.
Define los comandos que IDX ejecuta en tu entorno de desarrollador.
Ejemplo:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Tipo: Conjunto de atributos de (submódulo)
Valor predeterminado: { }
idx.previews.previews.<name>.command
Comando para ejecutar
Tipo: lista de cadenas
Valor predeterminado: [ ]
idx.previews.previews.<name>.cwd
Directorio de trabajo
Tipo: string
Valor predeterminado: ""
idx.previews.previews.<name>.env
Variables de entorno que se deben configurar.
Tipo: Conjunto de atributos de cadena
Valor predeterminado: { }
idx.previews.previews.<name>.manager
Supervisor
Escribe uno de "web" o "flutter"
idx.workspace.onCreate
Comandos que se ejecutan cuando se crea y se abre el lugar de trabajo por primera vez.
Esto puede ser útil para configurar el entorno de desarrollo. Por ejemplo, aquí especificamos npm install
para que se ejecute:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
Tipo: Conjunto de atributos de (ruta de acceso o string)
Valor predeterminado: { }
idx.workspace.onStart
Comandos que se ejecutarán cuando se abra el lugar de trabajo.
Esto puede ser útil para comenzar a crear observadores. Por ejemplo, aquí especificamos 2 comandos para ejecutar:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
Tipo: Conjunto de atributos de (ruta de acceso o string)
Valor predeterminado: { }
services.docker.enable
Especifica si se habilita o no Docker sin raíz.
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.mysql.enable
Establece si se habilita el servidor MySQL.
El servidor se inicializa con una raíz de usuario sin contraseña. Por lo tanto, para crear usuarios adicionales y bases de datos, usa mysql -u root
. .
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.mysql.package
Es el paquete de MySQL que se usará.
Tipo: paquete
Valor predeterminado: pkgs.mysql
Ejemplo: pkgs.mysql80
.
services.postgres.enable
Indica si se habilita el servidor de PostgreSQL.
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.postgres.package
Es el paquete de PostgreSQL que se usará.
Tipo: paquete
Valor predeterminado: pkgs.postgresql
Ejemplo: pkgs.postgresql_15
.
services.postgres.extensions
Extensiones de Postgres para instalar
tipo_de lista de (uno de "edad", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "periods", "pg_auto_failover", "pg_bigm", "pg_cronity", "pg_ed25519", "pg_embedmnetwork x ", "pg_scalepnetwork x ")
Valor predeterminado: [ ]
Ejemplo: [ "pgvector" "postgis" ];
.
services.pubsub.enable
Establece si se habilita el emulador de Google Pub/Sub.
Puedes encontrar más documentación sobre el uso del emulador aquí: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator .
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.pubsub.port
Configura el puerto en el que escuchará Pub/Sub.
Tipo: Número entero de 16 bits sin firma; entre 0 y 65,535 (ambos inclusive)
Valor predeterminado: 8085
services.pubsub.project-id
ID del proyecto que se usará para ejecutar el emulador de Pub/Sub. Este proyecto es solo para pruebas, no es necesario que exista y solo se usa a nivel local.
Tipo: string que coincide con el patrón [a-z][a-z0-9-]{5,29}
Valor predeterminado: "idx-pubsub-emulator"
services.redis.enable
Establece si se habilita el servidor de Redis.
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.redis.port
Configura el puerto en el que escuchará Redis.
De forma predeterminada, tcp está inhabilitado y redis solo escucha en /tmp/redis/redis.sock.
Tipo: Número entero de 16 bits sin firma; entre 0 y 65,535 (ambos inclusive)
Valor predeterminado: 0
services.spanner.enable
Establece si se habilita el emulador de Google Cloud Spanner.
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.spanner.fault-injection
Establece si se habilita la inserción de errores aleatorios en las transacciones.
Tipo: booleano
Valor predeterminado: false
Ejemplo: true
.
services.spanner.grpc-port
El puerto TCP al que se debe vincular el emulador.
Tipo: Número entero de 16 bits sin firma; entre 0 y 65,535 (ambos inclusive)
Valor predeterminado: 9010
services.spanner.rest-port
El puerto en el que se entregan las solicitudes de REST.
Tipo: Número entero de 16 bits sin firma; entre 0 y 65,535 (ambos inclusive)
Valor predeterminado: 9020