Cette page contient des informations sur le schéma du fichier de configuration de votre environnement d'espace de travail, qui doit toujours se trouver sous .idx/dev.nix
.
Pour en savoir plus sur le langage Nix, consultez le tutoriel officiel sur ce langage.
colis
Packages à installer dans l'environnement.
Vous pouvez utiliser l'argument pkgs
pour sélectionner les packages à installer, par exemple pkgs.python3
. Notez que le contenu de pkgs
dépend de l'option de canal channel
sélectionnée.
Exemple :
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Vous pouvez rechercher les packages disponibles ici : stable-23.11 ou unstable.
Type:liste des packages
Par défaut:[ ]
chaîne
nixpkgs à utiliser.
Ce canal définit le contenu de l'argument pkgs
.
Type : "stable-23.05", "stable-23.11", "unstable"
Par défaut:"stable-23.11"
env
Variables d'environnement définies dans l'environnement de développement.
Ils sont propagés à tous vos shells et au serveur de prévisualisation. Les variables d'environnement peuvent être particulièrement utiles si votre application nécessite un ensemble spécifique de variables.
Exemple :
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
Type:ensemble d'attributs
Par défaut:{ }
idx.extensions
Extensions de code que vous souhaitez installer dans votre espace de travail IDX.
Il s'agit d'une liste d'ID d'extension complets, par exemple ${publisherId}.${extensionId}
.
Vous trouverez une liste des extensions disponibles sur la page Ouvrir VSX Registry et saisissez-les dans votre fichier dev.nix
d'ici le ${publisherId}.${extensionId}
.
Type:liste de (chaîne ou chemin d'accès non vides)
Par défaut:[ ]
idx.previews.enable
Définissez ce paramètre sur true
pour activer les aperçus IDX.
Cette fonctionnalité permet d'exécuter et d'actualiser automatiquement vos applications au fur et à mesure que vous les développez.
Type:booléen
Par défaut:true
Exemple : true
idx.previews.previews
Prévisualisez les configurations.
Définissez les commandes que IDX exécute dans votre environnement de développement.
Exemple :
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Type:ensemble d'attributs de (sous-module)
Par défaut:{ }
idx.previews.previews.<name>.command
Commande à exécuter
Type:liste de chaînes
Par défaut:[ ]
idx.previews.previews.<name>.cwd
Répertoire de travail
Type:chaîne
Par défaut:""
idx.previews.previews.<name>.env
Variables d'environnement à définir.
Type:ensemble d'attributs de chaîne
Par défaut:{ }
idx.previews.previews.<name>.manager
Responsable
Type : "web" ou "flutter"
idx.workspace.onCreate
Commandes à exécuter lorsque l'espace de travail est créé et ouvert pour la première fois.
Cela peut être utile pour configurer l'environnement de développement. Par exemple, nous spécifions ici npm install
à exécuter:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
Type:ensemble d'attributs de (chemin ou chaîne)
Par défaut:{ }
idx.workspace.onStart
Commandes à exécuter chaque fois que l'espace de travail est ouvert.
Cela peut être utile pour commencer à créer des observateurs. Par exemple, ici, nous spécifions deux commandes à exécuter:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
Type:ensemble d'attributs de (chemin ou chaîne)
Par défaut:{ }
services.docker.enable
Activer ou non Docker sans racine.
Type:booléen
Par défaut:false
Exemple : true
services.mysql.enable
Activer ou non le serveur MySQL.
Le serveur est initialisé avec une racine d'utilisateur sans mot de passe. Ainsi, pour créer des utilisateurs supplémentaires et des bases de données, utilisez mysql -u root
. .
Type:booléen
Par défaut:false
Exemple : true
services.mysql.package
package MySQL à utiliser.
Type:package
Par défaut:pkgs.mysql
Exemple : pkgs.mysql80
services.postgres.enable
Indique si le serveur PostgreSQL doit être activé.
Type:booléen
Par défaut:false
Exemple : true
services.postgres.package
package PostgreSQL à utiliser.
Type:package
Par défaut:pkgs.postgresql
Exemple : pkgs.postgresql_15
services.postgres.extensions
Extensions Postgres à installer.
"pg_pund_p>", "un_pun_age", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "periods", "pg_auto_failover", "pg_ed25519", "pg_embedlls"
Par défaut:[ ]
Exemple : [ "pgvector" "postgis" ];
services.pubsub.enable
Activer ou non l'émulateur Google Pub/Sub.
Pour en savoir plus sur l'utilisation de l'émulateur, consultez la page https://cloud.google.com/pubsub/docs/emulator#using_the_emulator .
Type:booléen
Par défaut:false
Exemple : true
services.pubsub.port
Configure le port sur lequel Pub/Sub écoutera.
Type:entier non signé de 16 bits ; compris entre 0 et 65 535 (inclus)
Par défaut:8085
services.pubsub.project-id
ID du projet à utiliser pour exécuter l'émulateur Pub/Sub. Ce projet n'est destiné qu'aux tests. Il n'a pas besoin d'exister et il n'est utilisé qu'en local.
Type:chaîne correspondant au format [a-z][a-z0-9-]{5,29}
Par défaut:"idx-pubsub-emulator"
services.redis.enable
Activer ou non le serveur Redis.
Type:booléen
Par défaut:false
Exemple : true
services.redis.port
Configure le port sur lequel Redis écoutera.
Par défaut, tcp est désactivé, et Redis n'écoute que sur /tmp/redis/redis.sock.
Type:entier non signé de 16 bits ; compris entre 0 et 65 535 (inclus)
Par défaut:0
services.spanner.enable
Activer ou non l'émulateur Google Cloud Spanner.
Type:booléen
Par défaut:false
Exemple : true
services.spanner.fault-injection
Activer ou non l'injection de pannes aléatoire dans les transactions.
Type:booléen
Par défaut:false
Exemple : true
services.spanner.grpc-port
Port TCP auquel l'émulateur doit être lié.
Type:entier non signé de 16 bits ; compris entre 0 et 65 535 (inclus)
Par défaut:9010
services.spanner.rest-port
Port sur lequel les requêtes REST sont traitées
Type:entier non signé de 16 bits ; compris entre 0 et 65 535 (inclus)
Par défaut:9020