এই পৃষ্ঠায় আপনার ওয়ার্কস্পেস এনভায়রনমেন্ট কনফিগারেশন ফাইলের স্কিমার বিবরণ রয়েছে, যা সর্বদা .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 রেজিস্ট্রিতে উপলব্ধ এক্সটেনশনগুলির একটি তালিকা খুঁজে পেতে পারেন এবং ${publisherId}.${extensionId}
দ্বারা আপনার dev.nix
ফাইলে প্রবেশ করতে পারেন।
প্রকার: তালিকা (অ-খালি স্ট্রিং বা পথ)
ডিফল্ট: [ ]
idx.previews.enable
IDX পূর্বরূপ সক্রিয় করতে এটি true
সেট করুন।
এই বৈশিষ্ট্যটি আপনার অ্যাপ্লিকেশানগুলিকে বিকাশ করার সাথে সাথে স্বয়ংক্রিয়ভাবে চালানো এবং পুনরায় লোড করার একটি উপায় প্রদান করে৷
প্রকার: বুলিয়ান
ডিফল্ট: true
উদাহরণ: true
idx.previews.previews
পূর্বরূপ কনফিগারেশন.
আপনার বিকাশকারী পরিবেশে আইডিএক্স এক্সিকিউট করা কমান্ডগুলিকে সংজ্ঞায়িত করুন।
উদাহরণ:
{pkgs, ...}: {
idx.previews = {
enable = true;
previews = {
web = {
command = ["yes"];
cwd = "subfolder";
manager = "web";
env = {
HELLO = "world";
};
};
};
};
}
প্রকার: (সাবমডিউল) এর বৈশিষ্ট্য সেট
ডিফল্ট: { }
idx.previews.previews.<name>.activity
অ্যান্ড্রয়েড লঞ্চ কার্যকলাপ
প্রকার: স্ট্রিং
ডিফল্ট: ""
idx.previews.previews.<name>.command
কার্যকর করার আদেশ
প্রকার: স্ট্রিংয়ের তালিকা
ডিফল্ট: [ ]
idx.previews.previews.<name>.cwd
ওয়ার্কিং ডিরেক্টরি
প্রকার: স্ট্রিং
ডিফল্ট: ""
idx.previews.previews.<name>.env
এনভায়রনমেন্ট ভেরিয়েবল সেট করতে।
প্রকার: স্ট্রিং এর বৈশিষ্ট্য সেট
ডিফল্ট: { }
idx.previews.previews.<name>.manager
ম্যানেজার
প্রকার: "ওয়েব", "ফ্লাটার", "অ্যান্ড্রয়েড", "গ্রেডেল" এর একটি
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 = [ স্ট্রিং ];}))
ডিফল্ট: { }
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 = [ স্ট্রিং ];}))
ডিফল্ট: { }
IDX পরিষেবা
ওয়ার্কস্পেস খোলার সময় সক্রিয় করার জন্য সাধারণ পরিষেবাগুলি৷
উদাহরণস্বরূপ, Postgres সক্ষম করতে এবং pgvector
এক্সটেনশন ব্যবহার করতে, dev.nix
এ নিম্নলিখিত যোগ করুন:
services.postgres = {
extensions = ["pgvector"];
enable = true;
};
নিম্নলিখিত বিভাগগুলি সমস্ত সমর্থিত পরিষেবা এবং তাদের কনফিগারযোগ্য বিকল্পগুলির তালিকা করে।
services.docker.enable
রুটলেস ডকার সক্রিয় করতে হবে কিনা।
প্রকার: বুলিয়ান
ডিফল্ট: false
উদাহরণ: true
services.mongodb.enable
MongoDB সার্ভার সক্রিয় করতে হবে কিনা।
প্রকার: বুলিয়ান
ডিফল্ট: false
উদাহরণ: true
services.mongodb.package
ব্যবহার করার জন্য MongoDB প্যাকেজ।
প্রকার: প্যাকেজ
ডিফল্ট: <derivation mongodb-6.0.11>
services.mongodb.port
মঙ্গোড বন্দরটি কনফিগার করবে।
ডিফল্টভাবে 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 প্যাকেজ।
প্রকার: প্যাকেজ
ডিফল্ট: pkgs.mysql
উদাহরণ: pkgs.mysql80
services.postgres.enable
PostgreSQL সার্ভার সক্রিয় করা হবে কিনা।
প্রকার: বুলিয়ান
ডিফল্ট: false
উদাহরণ: true
services.postgres.enableTcp
TCP-তে শোনার জন্য Postgres সক্রিয় করা হবে কিনা।
প্রকার: বুলিয়ান
ডিফল্ট: true
উদাহরণ: true
services.postgres.package
PostgreSQL প্যাকেজ ব্যবহার করার জন্য।
প্রকার: প্যাকেজ
ডিফল্ট: pkgs.postgresql
উদাহরণ: pkgs.postgresql_15
services.postgres.extensions
পোস্টগ্রেস এক্সটেনশন ইনস্টল করার জন্য।
প্রকার: তালিকার ("বয়স" এর মধ্যে একটি", "apache_datasketches", "cstore_fdw", "hypopg", "jsonb_deep_sum", "periods", "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", " 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")
ডিফল্ট: [ ]
উদাহরণ: [ "pgvector" "postgis" ];
services.pubsub.enable
Google পাব/সাব এমুলেটর সক্ষম করবেন কিনা।
এমুলেটর ব্যবহার করার বিষয়ে আরও ডকুমেন্টেশন এখানে পাওয়া যাবে: https://cloud.google.com/pubsub/docs/emulator#using_the_emulator।
প্রকার: বুলিয়ান
ডিফল্ট: false
উদাহরণ: true
services.pubsub.port
পোর্ট কনফিগার করে Pub/Sub শুনবে।
প্রকার: 16 বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা; 0 এবং 65535 এর মধ্যে (উভয়ই অন্তর্ভুক্ত)
ডিফল্ট: 8085
services.pubsub.project-id
পাব/সাব এমুলেটর চালানোর জন্য ব্যবহার করার জন্য প্রকল্প আইডি। এই প্রকল্পটি শুধুমাত্র পরীক্ষার জন্য, এটির অস্তিত্ব থাকতে হবে না এবং শুধুমাত্র স্থানীয়ভাবে ব্যবহার করা হয়।
প্রকার: প্যাটার্নের সাথে মিলে যাওয়া স্ট্রিং [az][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 ক্লাউড স্প্যানার এমুলেটর সক্ষম করবেন কিনা।
প্রকার: বুলিয়ান
ডিফল্ট: false
উদাহরণ: true
services.spanner.fault-injection
লেনদেনে র্যান্ডম ফল্ট ইনজেকশন সক্ষম করা হবে কিনা।
প্রকার: বুলিয়ান
ডিফল্ট: false
উদাহরণ: true
services.spanner.grpc-পোর্ট
TCP পোর্ট যেখানে এমুলেটর আবদ্ধ করা উচিত।
প্রকার: 16 বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা; 0 এবং 65535 এর মধ্যে (উভয়ই অন্তর্ভুক্ত)
ডিফল্ট: 9010
services.spanner.rest-port
যে পোর্টে REST অনুরোধগুলি পরিবেশিত হয়৷
প্রকার: 16 বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা; 0 এবং 65535 এর মধ্যে (উভয়ই অন্তর্ভুক্ত)
ডিফল্ট: 9020