הדף הזה כולל פרטים על הסכימה של סביבת העבודה
קובץ תצורה, שתמיד צריך להיות ב-.idx/dev.nix
.
מידע נוסף על השפה של Nix זמין בשפה הרשמית של 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
צריך להגדיר את הערך true
כדי להפעיל את התצוגה המקדימה של IDX.
התכונה הזו מאפשרת להריץ את האפליקציות ולטעון אותן מחדש באופן אוטומטי בזמן אמת לפתח אותם.
סוג: בוליאני
ברירת המחדל: 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
סוג: מחרוזת
ברירת המחדל: ""
idx.previews.previews.<name>.command
הפקודה שצריך לבצע
סוג: רשימת מחרוזות
ברירת המחדל: [ ]
idx.previews.previews.<name>.cwd
ספריית עבודה
סוג: מחרוזת
ברירת המחדל: ""
idx.previews.previews.<name>.env
משתני סביבה להגדרה.
סוג: קבוצת מאפיינים של מחרוזת
ברירת המחדל: { }
idx.previews.previews.<name>.manager
ניהול
סוג: אחד מהסוגים הבאים: "web", "flutter", "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
הגדרה שקובעת אם להפעיל עגינה ללא Root.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.mongodb.enable
הגדרה שקובעת אם להפעיל שרת MongoDB.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.mongodb.package
חבילת MongoDB לשימוש.
סוג: חבילה
ברירת המחדל: <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.
השרת הופעל עם הרמה הבסיסית (root) של המשתמש ללא סיסמה. אז כדי ליצור
משתמשים ויוצרים מסדי נתונים להשתמש ב-mysql -u root
. .
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.mysql.package
חבילת MySQL לשימוש.
סוג: חבילה
ברירת המחדל: pkgs.mysql
לדוגמה: pkgs.mysql80
services.postgres.enable
האם להפעיל שרת PostgreSQL.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.postgres.enableTcp
הגדרה שקובעת אם להפעיל את Postgres להאזין ב-TCP.
סוג: בוליאני
ברירת המחדל: true
לדוגמה: true
services.postgres.package
חבילת PostgreSQL לשימוש.
סוג: חבילה
ברירת המחדל: pkgs.postgresql
לדוגמה: pkgs.postgresql_15
services.postgres.extensions
תוספי Postgres להתקנה.
סוג: list of (one of "age", "apache_datasketches", "cstore_fdw", "hypopg", 'jsonb_deep_sum', 'periods', 'pg_auto_failover', 'pg_bizm', '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 Pub/Sub.
מסמכים נוספים לגבי השימוש באמולטור זמינים כאן: 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
מזהה הפרויקט שישמש להרצת אמולטור 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.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.spanner.fault-injection
האם להפעיל החדרת תקלות אקראית לטרנזקציות.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.spanner.grpc-port
יציאת ה-TCP שאליה צריך לקשר את האמולטור.
סוג: מספר שלם לא חתום באורך 16 ביט. בין 0 ל-65535 (שניהם כולל)
ברירת המחדל: 9010
services.spanner.rest-port
היציאה שבה מוגשות בקשות REST
סוג: מספר שלם לא חתום באורך 16 ביט. בין 0 ל-65535 (שניהם כולל)
ברירת המחדל: 9020