dev.nix Referansı

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