Bu sayfada, çalışma alanı ortamınızın şemasıyla ilgili ayrıntılar bulunmaktadır.
şu konumda olması gerekir: yapılandırma dosyasını her zaman .idx/dev.nix
.
Nix dili hakkında bilgi edinmek için resmi Nix diline bakın eğiticisi.
paketler
Ortama yüklenecek paketler.
Yüklenecek paketleri seçmek için pkgs
bağımsız değişkenini kullanabilirsiniz. Örneğin,
pkgs.python3
. pkgs
içeriğinin seçilen öğeye bağlı olduğunu unutmayın
channel
kanal seçeneği.
Örnek:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Kullanılabilir paketleri burada arayabilirsiniz: stable-23.11 veya kararsızdır.
Tür: paket listesi
Varsayılan: [ ]
kanal
nixpkgs kanalından erişebilirsiniz.
Bu kanal, pkgs
bağımsız değişkeninin içeriğini tanımlar.
Tür: "stabil-23.05", "stable-23.11", "stable-24.05", "unstable"
Varsayılan: "stable-23.11"
env
Geliştirici ortamının içinde ayarlanan ortam değişkenleri.
Bunlar tüm kabuklarınıza ve önizleme sunucusuna yayılır. Çevre uygulamanız belirli bir grup gerektiriyorsa, değişkenler özellikle sağlayabilir.
Her değişkenin değeri bir dize veya dize listesi olabilir. İlgili içeriği oluşturmak için kullanılan ikinci sırada ise iki nokta üst üste karakterleri ile serpiştirilmiş olarak sunulur.
PATH
her zaman genişletilmiş olduğu ve hiçbir zaman tamamen değiştirilmediği için bir liste olmalıdır.
Örnek:
{pkgs, ...}: {
env = {
HELLO = "world";
# append an entry to PATH
PATH = ["/some/path/bin"];
};
}
Tür: Özellik grubu ((dize listesi) veya herhangi bir şey)
Varsayılan: { }
idx.extensions
IDX çalışma alanınıza yüklemek istediğiniz kod uzantıları.
Bu, tam nitelikli uzantı kimliklerinin bir listesidir. Örneğin,
${publisherId}.${extensionId}
Kullanılabilir uzantıların listesini şurada bulabilirsiniz:
VSX Registry'yi açın ve dev.nix
dosyanıza girin
${publisherId}.${extensionId}
tarafından.
Tür: listesi (boş olmayan dize veya yol)
Varsayılan: [ ]
idx.previews.enable
IDX Önizlemelerini etkinleştirmek için bunu true
olarak ayarlayın.
Bu özellik, siz o sırada uygulamalarınızı otomatik olarak çalıştırmanızı ve yeniden yüklemenizi sağlar ve geliştirmeye karar vermişsiniz.
Tür: boole
Varsayılan: true
Örnek: true
idx.previews.previews
Önizleme yapılandırmaları.
IDX'in geliştirici ortamınızda yürüttüğü komutları tanımlayın.
Örnek:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
Tür: (alt modül) özellik grubu
Varsayılan: { }
idx.previews.previews.<name>.activity
Android Lansman Etkinliği
Tür: dize
Varsayılan: ""
idx.previews.previews.<name>.command
Yürütülecek komut
Tür: Dize listesi
Varsayılan: [ ]
idx.previews.previews.<name>.cwd
Çalışma dizini
Tür: dize
Varsayılan: ""
idx.previews.previews.<name>.env
Ayarlanacak ortam değişkenleri.
Tür: Dizenin özellik kümesi
Varsayılan: { }
idx.previews.previews.<name>.manager
Yönetici
Tür: "web", "flutter", "android", "gradle" özelliklerinden biri
idx.workspace.onCreate
Çalışma alanı oluşturulup ilk kez açıldığında yürütülecek komutlar.
Bu, geliştirme ortamının ayarlanması için yararlı olabilir. Örneğin burada
çalıştırılması için npm install
belirtiliyor:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
# files to open when the workspace is first opened.
default.openFiles = [ "src/index.ts" ];
};
}
Tür: (path veya string or ({ openFiles = [ string ];}) özellik grubu)
Varsayılan: { }
idx.workspace.onStart
Çalışma alanı her açıldığında yürütülecek komutlar.
Bu, izleyici oluşturmaya başlarken faydalı olabilir. Örneğin burada, Çalıştırılacak 2 komut:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
# files to open when the workspace is (re)opened.
default.openFiles = [ "src/index.ts" ];
};
}
Tür: (path veya string or ({ openFiles = [ string ];}) özellik grubu)
Varsayılan: { }
services.docker.enable
Rootless Docker'ın etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: false
Örnek: true
services.mongodb.enable
MongoDB sunucusunun etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: false
Örnek: true
services.mongodb.package
kullanılacak MongoDB paketi.
Tür: paket
Varsayılan: <derivation mongodb-6.0.11>
services.mongodb.port
Mongod'un dinleeceği bağlantı noktasını yapılandırır.
TCP, varsayılan olarak devre dışıdır ve Mongod yalnızca /tmp/mongodb/mongodb.sock dosyasını dinler. Bağlanmak için bağlantı dizesini kullanın "mongodb://%2Ftmp%2Fmongodb%2Fmongodb.sock"
Tür: 16 bit unsign integer; 0 ile 65.535 (her ikisi de dahil) arasında
Varsayılan: 0
services.mysql.enable
MySQL sunucusunun etkinleştirilip etkinleştirilmeyeceğini belirler.
Sunucu şifresiz kullanıcı kökü ile başlatıldı. Bu nedenle,
mysql -u root
ile veritabanlarını oluşturmak için kullanabilirsiniz. .
Tür: boole
Varsayılan: false
Örnek: true
services.mysql.package
Kullanılacak MySQL paketi.
Tür: paket
Varsayılan: pkgs.mysql
Örnek: pkgs.mysql80
services.postgres.enable
PostgreSQL sunucusunun etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: false
Örnek: true
services.postgres.enableTcp
Postgres'in TCP'de dinlemesi için etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: true
Örnek: true
services.postgres.package
Kullanılacak PostgreSQL paketi.
Tür: paket
Varsayılan: pkgs.postgresql
Örnek: pkgs.postgresql_15
services.postgres.extensions
Yüklenecek Postgres uzantıları.
Tür: listesi ("age", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "dönemler", "pg_auto_failover", "pg_bigm", "pg_cron", "pg_ed25519", "pg_embedding", "pg_hint_plan", "pg_hll", "pg_ivm", "pg_net", "pg_partman", "pg_rational", "pg_relusage", "pg_repack", "pg_safeupdate", "pg_benzerity", "pg_topn", "pg_uuidv7", "pgaudit", "pgjwt", "pgroonga", "pgrouting", "pgsql-http", "pgtap", "pgvector", "plpgsql_check", "plr", "plv8", "postgis", "promscale_extension", "repmgr", "rum", "smlar", "tds_fdw", "temporal_tables", "timescaledb", "timescaledb-apache", "timescaledb_ Toolkit", "tsearch_extras", "tsja", "wal2json")
Varsayılan: [ ]
Örnek: [ "pgvector" "postgis" ];
services.pubsub.enable
Google Pub/Sub emülatörünün etkinleştirilip etkinleştirilmeyeceğini belirler.
Emülatörün kullanımıyla ilgili daha fazla belgeye şuradan ulaşabilirsiniz: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator
Tür: boole
Varsayılan: false
Örnek: true
services.pubsub.port
Pub/Sub'ın dinleeceği bağlantı noktasını yapılandırır.
Tür: 16 bit unsign integer; 0 ile 65.535 (her ikisi de dahil) arasında
Varsayılan: 8085
services.pubsub.project-id
Pub/Sub emülatörünü çalıştırmak için kullanılacak proje kimliği. Bu proje yalnızca test amaçlıdır. mevcut olması gerekmez ve yalnızca yerel olarak kullanılır.
Tür: [a-z][a-z0-9-]{5,29} kalıbıyla eşleşen dize
Varsayılan: "idx-pubsub-emulator"
services.redis.enable
Redis sunucusunun etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: false
Örnek: true
services.redis.port
Redis'in dinleeceği bağlantı noktasını yapılandırır.
Varsayılan olarak TCP devre dışıdır ve redis yalnızca /tmp/redis/redis.sock adresinde dinler.
Tür: 16 bit unsign integer; 0 ile 65.535 (her ikisi de dahil) arasında
Varsayılan: 0
services.spanner.enable
Google Cloud Spanner Emulator'ın etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: false
Örnek: true
services.spanner.fault-injection
İşlemlere rastgele hata eklemenin etkinleştirilip etkinleştirilmeyeceğini belirler.
Tür: boole
Varsayılan: false
Örnek: true
services.spanner.grpc-port
Emülatörün bağlanması gereken TCP bağlantı noktası.
Tür: 16 bit unsign integer; 0 ile 65.535 (her ikisi de dahil) arasında
Varsayılan: 9010
services.spanner.rest-port
REST isteklerinin sunulduğu bağlantı noktası
Tür: 16 bit unsign integer; 0 ile 65.535 (her ikisi de dahil) arasında
Varsayılan: 9020