dev.nix Referansı

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