Dev.nix रेफ़रंस

इस पेज पर, आपके फ़ाइल फ़ोल्डर एनवायरमेंट के स्कीमा की जानकारी दी गई है कॉन्फ़िगरेशन फ़ाइल है, जो हमेशा .idx/dev.nix पर मौजूद होनी चाहिए.

निक्स भाषा के बारे में जानने के लिए, निक्स की आधिकारिक भाषा देखें ट्यूटोरियल देखें.

पैकेज

वातावरण में इंस्टॉल किए जाने वाले पैकेज.

इंस्टॉल करने के लिए पैकेज चुनने के लिए, pkgs आर्ग्युमेंट का इस्तेमाल किया जा सकता है. उदाहरण के लिए, pkgs.python3. ध्यान दें कि pkgs का कॉन्टेंट, चुनी गई कैटगरी पर निर्भर करता है channel चैनल का विकल्प.

उदाहरण:

{pkgs, ...}: {
  channel = "stable-23.11";
  packages = [pkgs.vim];
}

उपलब्ध पैकेज यहां खोजे जा सकते हैं: stable-23.11 या अस्तबल.

टाइप: पैकेज की सूची

डिफ़ॉल्ट: [ ]

चैनल

nixpkgs चैनल का इस्तेमाल करना है.

यह चैनल, pkgs आर्ग्युमेंट के कॉन्टेंट के बारे में बताता है.

टाइप: "stable-23.05", "stable-23.11", "stable-24.05", "unstable" में से कोई एक

डिफ़ॉल्ट: "stable-23.11"

env

ऐसे एनवायरमेंट वैरिएबल जो डेवलपर एनवायरमेंट के अंदर सेट किए जाते हैं.

ये आपके सभी शेल और प्रीव्यू सर्वर पर लागू किए जाते हैं. एनवायरमेंट वैरिएबल खास तौर से तब काम आ सकते हैं, जब आपके ऐप्लिकेशन को इस्तेमाल करने के लिए किसी खास सेट का विकल्प है.

हर वैरिएबल की वैल्यू, कोई स्ट्रिंग या स्ट्रिंग की सूची हो सकती है. कॉन्टेंट बनाने बाद वाले कोड को एक साथ जोड़ा जाता है और कोलन वर्णों के साथ डाला जाता है.

PATH एक सूची होनी चाहिए, क्योंकि यह हमेशा बढ़ती रहती है और कभी भी पूरी तरह से नहीं बदली जाती.

उदाहरण:

{pkgs, ...}: {
  env = {
    HELLO = "world";
    # append an entry to PATH
    PATH = ["/some/path/bin"];
  };
}

टाइप: एट्रिब्यूट का सेट ((स्ट्रिंग की सूची) या कुछ भी)

डिफ़ॉल्ट: { }

idx.extensions

ऐसे कोड एक्सटेंशन जिन्हें आपको अपने IDX फ़ाइल फ़ोल्डर में इंस्टॉल करना है.

यह पूरी तरह क्वालिफ़ाइड एक्सटेंशन आईडी की सूची है, उदाहरण के लिए ${publisherId}.${extensionId}.

उपलब्ध एक्सटेंशन की सूची यहां देखें: VSX Registry खोलें और उसे अपनी dev.nix फ़ाइल में डालें ${publisherId}.${extensionId} का बनाया.

टाइप: (स्ट्रिंग या पाथ खाली नहीं है) की सूची

डिफ़ॉल्ट: [ ]

idx.previews.enable

IDX Previews को चालू करने के लिए, इसे true पर सेट करें.

इस सुविधा की मदद से, ऐप्लिकेशन अपने-आप चलने और फिर से लोड होने की सुविधा मिलती है उन्हें डेवलप करना.

टाइप: बूलियन

डिफ़ॉल्ट: true

उदाहरण: true

idx.previews.previews

कॉन्फ़िगरेशन की झलक देखें.

उन निर्देशों को तय करें जो IDX आपके डेवलपर एनवायरमेंट में लागू करता है.

उदाहरण:

{pkgs, ...}: {
  idx.previews = {
    enable = true;
    previews = {
      web = {
        command = ["yes"];
        cwd = "subfolder";
        manager = "web";
        env = {
          HELLO = "world";
        };
      };
    };
  };
}

टाइप: (सबमॉड्यूल) का एट्रिब्यूट सेट

डिफ़ॉल्ट: { }

idx.previews.previews.<name>.activity

Android के लॉन्च से जुड़ी गतिविधि

Type: स्ट्रिंग

डिफ़ॉल्ट: ""

idx.previews.previews.<name>.command

लागू करने के लिए निर्देश

टाइप: स्ट्रिंग की सूची

डिफ़ॉल्ट: [ ]

idx.previews.previews.<name>.cwd

वर्किंग डायरेक्ट्री

Type: स्ट्रिंग

डिफ़ॉल्ट: ""

idx.previews.previews.<name>.env

सेट किए जाने वाले एनवायरमेंट वैरिएबल.

टाइप: स्ट्रिंग का सेट

डिफ़ॉल्ट: { }

idx.previews.previews.<name>.manager

मैनेजर

टाइप: "web", "fltter", "android", "gradle" में से कोई एक

idx.workspace.onCreate

फ़ाइल फ़ोल्डर के बनाए जाने और पहली बार खोले जाने पर, लागू किए जाने वाले निर्देश.

इससे डेवलपमेंट एनवायरमेंट को सेट अप करने में मदद मिल सकती है. उदाहरण के लिए, यहां हम चलाने के लिए npm install तय कर रहे हैं:

{pkgs, ...}: {
  idx.workspace.onCreate = {
    npm-install = "npm install";
    # files to open when the workspace is first opened.
    default.openFiles = [ "src/index.ts" ];
  };
}

टाइप: एट्रिब्यूट का सेट (पाथ या स्ट्रिंग या ({openFiles = [ string ];}))

डिफ़ॉल्ट: { }

idx.workspace.onStart

फ़ाइल फ़ोल्डर के खुलने पर, उसे एक्ज़ीक्यूट करने वाले निर्देश दिए जाते हैं.

इससे आपको ऐप पर नज़र रखने वालों की संख्या बढ़ाने में मदद मिल सकती है. उदाहरण के लिए, यहां हम चलाने के लिए 2 निर्देश:

{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" ];
  };
}

टाइप: एट्रिब्यूट का सेट (पाथ या स्ट्रिंग या ({openFiles = [ string ];}))

डिफ़ॉल्ट: { }

services.docker.enable

रूटलेस डॉकर चालू करना है या नहीं.

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.mongodb.enable

क्या MongoDB सर्वर को चालू करना है.

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.mongodb.package

इस्तेमाल करने के लिए MongoDB पैकेज.

Type: पैकेज

डिफ़ॉल्ट: <derivation mongodb-6.0.11>

services.mongodb.port

उस पोर्ट को कॉन्फ़िगर करता है, जिस पर Mongod इसे सुनेगा.

डिफ़ॉल्ट रूप से tcp बंद है और Mongod सिर्फ़ /tmp/mongodb/mongodb.sock पर सुनता है. कनेक्ट करने के लिए, कनेक्शन स्ट्रिंग का इस्तेमाल करें "mongodb://%2Ftmp%2Fmongodb%2Fmongodb.sock"

टाइप: 16 बिट का साइन न किया गया पूर्णांक; 0 से 65535 के बीच (दोनों शामिल हैं)

डिफ़ॉल्ट: 0

services.mysql.enable

MySQL सर्वर को चालू करना है या नहीं.

सर्वर को बिना पासवर्ड वाले उपयोगकर्ता रूट से शुरू किया जाता है. इसलिए, बेहतर बनाने के लिए उपयोगकर्ताओं और डेटाबेस बनाने के लिए, mysql -u root का इस्तेमाल किया जाता है. .

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.mysql.package

इस्तेमाल करने के लिए MySQL पैकेज.

Type: पैकेज

डिफ़ॉल्ट: pkgs.mysql

उदाहरण: pkgs.mysql80

services.postgres.enable

PostgreSQL सर्वर को चालू करना है या नहीं.

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.postgres.enableTcp

क्या Postgres को टीसीपी पर सुनने की सुविधा चालू करनी है.

टाइप: बूलियन

डिफ़ॉल्ट: true

उदाहरण: true

services.postgres.package

इस्तेमाल करने के लिए PostgreSQL पैकेज.

Type: पैकेज

डिफ़ॉल्ट: pkgs.postgresql

उदाहरण: pkgs.postgresql_15

services.postgres.extensions

इंस्टॉल करने के लिए Postgres एक्सटेंशन.

टाइप: इनमें से एक सूची ("age", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "पीरियड", "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_similarity", "pg_topn", "pg_uuidv7", "pgaaudt", "pgjwt", "pgroonga", "pgrouting", "pgsql-http", "pgtap", "pgvector", "plpgsql_check", "plr", "plv8", "postgis", "promScale_extension", "repmgr", "rum", "smlar", "tds_fdw", "tempother_tables", "timeScaledb", "timeScaledb-apache", "timeScaledb_ Toolkit", "tsearch_extras", "tsja", "wal2json")

डिफ़ॉल्ट: [ ]

उदाहरण: [ "pgvector" "postgis" ];

services.pubsub.enable

Google Pub/Sub एम्युलेटर चालू करना है या नहीं.

एम्युलेटर का इस्तेमाल करने के बारे में ज़्यादा दस्तावेज़ यहां मिल सकते हैं: https://cloud.google.com/pubsub/docs/emulator#used_the_emulator .

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.pubsub.port

यह नीति उस पोर्ट को कॉन्फ़िगर करती है जिस पर Pub/Sub को सुना जाएगा.

टाइप: 16 बिट का साइन न किया गया पूर्णांक; 0 से 65535 के बीच (दोनों शामिल हैं)

डिफ़ॉल्ट: 8085

services.pubsub.project-id

Pub/Sub एम्युलेटर को चलाने के लिए इस्तेमाल किया जाने वाला प्रोजेक्ट आईडी. यह प्रोजेक्ट सिर्फ़ टेस्टिंग के लिए है, इसका मौजूद होना ज़रूरी नहीं है और इसका इस्तेमाल सिर्फ़ स्थानीय तौर पर किया जाता है.

टाइप: [a-z][a-z0-9-]{5,29} पैटर्न से मिलती-जुलती स्ट्रिंग

डिफ़ॉल्ट: "idx-pubsub-emulator"

services.redis.enable

Redis सर्वर को चालू करना है या नहीं.

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.redis.port

इस नीति की मदद से, Redis पोर्ट को कॉन्फ़िगर किया जाता है.

डिफ़ॉल्ट रूप से tcp बंद होता है और redis सिर्फ़ /tmp/redis/redis.sock पर सुनता है.

टाइप: 16 बिट का साइन न किया गया पूर्णांक; 0 से 65535 के बीच (दोनों शामिल हैं)

डिफ़ॉल्ट: 0

services.spanner.enable

Google Cloud Spanner Emulator को चालू करना है या नहीं.

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.spanner.fault-injection

क्या लेन-देन में किसी भी तरह की गड़बड़ी डालने की सुविधा चालू करनी है.

टाइप: बूलियन

डिफ़ॉल्ट: false

उदाहरण: true

services.spanner.grpc-port

वह टीसीपी पोर्ट, जिससे एम्युलेटर बाउंड होना चाहिए.

टाइप: 16 बिट का साइन न किया गया पूर्णांक; 0 से 65535 के बीच (दोनों शामिल हैं)

डिफ़ॉल्ट: 9010

services.spanner.rest-port

वह पोर्ट जिस पर REST के अनुरोध किए जाते हैं

टाइप: 16 बिट का साइन न किया गया पूर्णांक; 0 से 65535 के बीच (दोनों शामिल हैं)

डिफ़ॉल्ट: 9020