Bu sayfada, çalışma alanı ortamınızın yapılandırma dosyasının şemasıyla ilgili ayrıntılar yer alır. Bu dosyanın her zaman .idx/dev.nix
konumunda bulunması gerekir.
Nix dili hakkında bilgi edinmek için resmi Nix dili eğitimini inceleyin.
paketler
Ortama yüklenecek paketler.
Yüklenecek paketleri seçmek için pkgs
bağımsız değişkenini kullanabilirsiniz (ör. pkgs.python3
). pkgs
içeriğinin, belirlenen channel
kanal seçeneğine bağlı olduğunu unutmayın.
Örnek:
{pkgs, ...}: {
channel = "stable-23.11";
packages = [pkgs.vim];
}
Mevcut paketleri burada arayabilirsiniz: stable-23.11 veya unstable.
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: biri "stable-23.05", "stable-23.11", "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. Ortam değişkenleri, özellikle uygulamanız belirli bir değişken grubu gerektiriyorsa yararlı olabilir.
Örnek:
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
Tür: Herhangi bir şeydeki özellik grubu
Varsayılan: { }
idx.extensions
IDX çalışma alanınıza yüklemek istediğiniz kod uzantıları.
Bu, ${publisherId}.${extensionId}
gibi tam nitelikli uzantı kimliklerinin bir listesidir.
Kullanılabilir uzantıların listesini VSX Registry'yi Aç'da bulabilir ve bunları ${publisherId}.${extensionId}
tarihine kadar dev.nix
dosyanıza girebilirsiniz.
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, uygulamalarınızı geliştirirken otomatik olarak çalıştırmanızı ve yeniden yüklemenizi sağlar.
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>.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"dan 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
değerini belirtiyoruz:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
Tür: (yol veya dize) ö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 belirtiyoruz:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
Tür: (yol veya dize) ö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.mysql.enable
MySQL sunucusunun etkinleştirilip etkinleştirilmeyeceğini belirler.
Sunucu şifresiz kullanıcı kökü ile başlatıldı. Ek kullanıcılar ve veritabanları oluşturmak için mysql -u root
kullanın. .
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.package
Kullanılacak PostgreSQL paketi.
Tür: paket
Varsayılan: pkgs.postgresql
Örnek: pkgs.postgresql_15
services.postgres.extensions
Yüklenecek Postgres uzantıları.
Type: list of (one of "age", "apache_datasketches,"ppache_datasketches,"pract_"dess",link_gtys",pcapp_gtygtys",link_gysegbgbg "bapt_gt%10","pg_degbgtyse","pg_pglar", "bapt_gtbgbg_ Burada yer almayan"
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ü kullanma hakkında daha fazla belgeye şu adresten 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 65535 arasında (her ikisi de dahil)
Varsayılan: 8085
hizmetler.pubsub.proje-kimliği
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, böyle 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 65535 arasında (her ikisi de dahil)
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 65535 arasında (her ikisi de dahil)
Varsayılan: 9010
hizmetler.spanner.rest-bağlantı noktası
REST isteklerinin sunulduğu bağlantı noktası
Tür: 16 bit unsign integer; 0 ile 65535 arasında (her ikisi de dahil)
Varsayılan: 9020