Questa pagina include i dettagli sullo schema per il file di configurazione dell'ambiente Workspace, che deve trovarsi sempre all'indirizzo .idx/dev.nix
.
Per saperne di più sulla lingua Nix, guarda il tutorial ufficiale sul linguaggio Nix.
pacchi
Pacchetti da installare nell'ambiente.
Puoi utilizzare l'argomento pkgs
per selezionare i pacchetti da installare, ad esempio
pkgs.python3
. Tieni presente che i contenuti di pkgs
dipendono dall'opzione del canale channel
selezionata.
Esempio:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Puoi cercare i pacchetti disponibili qui: stable-23.11 o unstable.
Tipo:elenco del pacchetto.
Predefinita: [ ]
canale
nixpkgs da usare.
Questo canale definisce i contenuti dell'argomento pkgs
.
Tipo: uno tra "stable-23.05", "stable-23.11", "unstable"
Predefinita: "stable-23.11"
env
Variabili di ambiente impostate nell'ambiente di sviluppo.
Queste informazioni vengono propagate a tutte le tue shell e al server di anteprima. Le variabili di ambiente possono essere particolarmente utili se la tua applicazione richiede un insieme specifico di variabili.
Esempio:
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
Tipo: insieme di attributi di qualsiasi cosa
Predefinita: { }
idx.extensions
Estensioni di codice che vuoi installare nell'area di lavoro IDX.
Questo è un elenco di ID estensione completi, ad esempio
${publisherId}.${extensionId}
.
Puoi trovare un elenco delle estensioni disponibili in Open VSX Registry e inserirle nel file dev.nix
tramite ${publisherId}.${extensionId}
.
Tipo: elenco di (stringa o percorso non vuoto)
Predefinita: [ ]
idx.previews.enable
Imposta questo elemento su true
per attivare le anteprime IDX.
Questa funzionalità consente di eseguire e ricaricare automaticamente le app durante lo sviluppo.
Tipo: booleano
Predefinita: true
Esempio: true
idx.previews.previews
Anteprima delle configurazioni.
Definisci i comandi che IDX esegue nel tuo ambiente di sviluppo.
Esempio:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Tipo: insieme di attributi di (sottomodulo)
Predefinita: { }
idx.previews.previews.<name>.command
Comando da eseguire
Tipo:elenco di stringhe.
Predefinita: [ ]
idx.previews.previews.<name>.cwd
Directory di lavoro
Tipo:stringa
Predefinita: ""
idx.previews.previews.<name>.env
Variabili di ambiente da impostare.
Tipo: set di attributi della stringa
Predefinita: { }
idx.previews.previews.<name>.manager
Gestore
Tipo:uno tra "web", "flutter"
idx.workspace.onCreate
Comandi da eseguire quando l'area di lavoro viene creata e aperta per la prima volta.
Questo può essere utile per configurare l'ambiente di sviluppo. Ad esempio, qui specifichiamo npm install
da eseguire:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
Tipo: insieme di attributi di (percorso o stringa)
Predefinita: { }
idx.workspace.onStart
Comandi da eseguire ogni volta che l'area di lavoro viene aperta.
Questo può essere utile per iniziare a creare watcher. Ad esempio, qui specifichiamo 2 comandi da eseguire:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
Tipo: insieme di attributi di (percorso o stringa)
Predefinita: { }
services.docker.enable
Indica se abilitare il docker senza root.
Tipo: booleano
Predefinita: false
Esempio: true
services.mysql.enable
Indica se abilitare il server MySQL.
Il server è inizializzato con una radice utente senza password. Quindi, per creare utenti
aggiuntivi e creare database, utilizza mysql -u root
. .
Tipo: booleano
Predefinita: false
Esempio: true
services.mysql.package
pacchetto MySQL da utilizzare.
Tipo:pacchetto
Predefinita: pkgs.mysql
Esempio: pkgs.mysql80
services.postgres.enable
Indica se abilitare il server PostgreSQL.
Tipo: booleano
Predefinita: false
Esempio: true
services.postgres.package
pacchetto PostgreSQL da utilizzare.
Tipo:pacchetto
Predefinita: pkgs.postgresql
Esempio: pkgs.postgresql_15
services.postgres.extensions
Estensioni Postgres da installare.
Type: list of (one of "age", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "periods", "pg_auto_failover", "ppmg_bigmgraphicm",
Predefinita: [ ]
Esempio: [ "pgvector" "postgis" ];
services.pubsub.enable
Indica se abilitare l'emulatore Google Pub/Sub.
Ulteriori informazioni sull'uso dell'emulatore sono disponibili qui: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator .
Tipo: booleano
Predefinita: false
Esempio: true
services.pubsub.port
Configura la porta su cui Pub/Sub attenderà.
Tipo: numero intero senza segno a 16 bit; compreso tra 0 e 65535 (entrambi inclusi)
Predefinita: 8085
services.pubsub.id-progetto
ID progetto da utilizzare per eseguire l'emulatore Pub/Sub. Questo progetto è solo a scopo di test, non deve esistere e viene usato solo localmente.
Tipo: stringa corrispondente al motivo [a-z][a-z0-9-]{5,29}
Predefinita: "idx-pubsub-emulator"
services.redis.enable
Indica se abilitare il server Redis.
Tipo: booleano
Predefinita: false
Esempio: true
services.redis.port
Configura la porta su cui Redis dovrà rimanere in ascolto.
Per impostazione predefinita, tcp è disattivato e Redis ascolta solo su /tmp/redis/redis.sock.
Tipo: numero intero senza segno a 16 bit; compreso tra 0 e 65535 (entrambi inclusi)
Predefinita: 0
services.spanner.enable
Indica se abilitare l'emulatore di Google Cloud Spanner.
Tipo: booleano
Predefinita: false
Esempio: true
services.spanner.fault-injection
Indica se abilitare l'inserimento di errore casuale nelle transazioni.
Tipo: booleano
Predefinita: false
Esempio: true
services.spanner.grpc-port
La porta TCP a cui deve essere associato l'emulatore.
Tipo: numero intero senza segno a 16 bit; compreso tra 0 e 65535 (entrambi inclusi)
Predefinita: 9010
services.spanner.rest-port
La porta su cui vengono gestite le richieste REST
Tipo: numero intero senza segno a 16 bit; compreso tra 0 e 65535 (entrambi inclusi)
Predefinita: 9020