בדף הזה יש פרטים על הסכימה של קובץ התצורה של סביבת העבודה, שתמיד צריכה להיות ב-.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', "unstable"
ברירת המחדל: "stable-23.11"
env
משתני סביבה שמוגדרים בסביבת הפיתוח.
הן יופצו לכל המעטפת שלכם ולשרת התצוגה המקדימה. משתני סביבה יכולים להיות שימושיים במיוחד אם באפליקציה שלכם דרושה קבוצה ספציפית של משתנים.
דוגמה:
{pkgs, ...}: {
env = {
HELLO = "world";
};
}
סוג: קבוצת מאפיינים של כל דבר
ברירת המחדל: { }
idx.extensions
תוספי הקוד שרוצים להתקין בסביבת העבודה של IDX.
זו רשימה של מזהי תוספים מוגדרים במלואם, לדוגמה ${publisherId}.${extensionId}
.
אפשר למצוא רשימה של התוספים הזמינים ב-Open 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>.command
הפקודה שצריך לבצע
סוג: רשימת מחרוזות
ברירת המחדל: [ ]
idx.previews.previews.<name>.cwd
ספריית עבודה
סוג: מחרוזת
ברירת המחדל: ""
idx.previews.previews.<name>.env
משתני סביבה להגדרה.
סוג: קבוצת מאפיינים של מחרוזת
ברירת המחדל: { }
idx.previews.previews.<name>.manager
ניהול
סוג: אחד מהערכים 'web', 'flutter'
idx.workspace.onCreate
הפקודות להפעלה בזמן יצירה ופתיחה של סביבת העבודה בפעם הראשונה.
האפשרות הזו יכולה להיות שימושית כדי להגדיר את סביבת הפיתוח. לדוגמה, כאן מציינים את הערך npm install
שירוץ:
{pkgs, ...}: {
idx.workspace.onCreate = {
npm-install = "npm install";
};
}
סוג: קבוצת המאפיינים של (נתיב או מחרוזת)
ברירת המחדל: { }
idx.workspace.onStart
הפקודות שיופעלו בכל פעם שסביבת העבודה תיפתח.
האפשרות הזו יכולה לעזור לכם להתחיל ליצור צופים. לדוגמה, כאן ציינו 2 פקודות שירוצו:
{pkgs, ...}: {
idx.workspace.onStart = {
npm-watch-fe = "npm run watch:frontend";
npm-watch-be = "npm run watch:backend";
};
}
סוג: קבוצת המאפיינים של (נתיב או מחרוזת)
ברירת המחדל: { }
services.docker.enable
הגדרה שקובעת אם להפעיל Docer ללא Root.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
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.package
חבילת PostgreSQL לשימוש.
סוג: חבילה
ברירת המחדל: pkgs.postgresql
לדוגמה: pkgs.postgresql_15
services.postgres.extensions
תוספי Postgres להתקנה.
"Type: list of (one of "age", "apache_datasketches", "cstore_fdw", "hypop_popg", "jsonb_deep_sum", "periods", "pg_auto_failover", "pg_byte", "pg_cron", "apache_datasketches"
ברירת המחדל: [ ]
לדוגמה: [ "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 ל-65,535 (כולל שניהם)
ברירת המחדל: 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 ל-65,535 (כולל שניהם)
ברירת המחדל: 0
services.spanner.enable
האם להפעיל את אמולטור Google Cloud Spanner.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.spanner.fault-injection
האם להפעיל החדרת שגיאות אקראיות לטרנספורמציות.
סוג: בוליאני
ברירת המחדל: false
לדוגמה: true
services.spanner.grpc-port
יציאת ה-TCP שאליה צריך לקשר את האמולטור.
סוג: מספר שלם לא חתום באורך 16 ביט, בין 0 ל-65,535 (כולל שניהם)
ברירת המחדל: 9010
services.spanner.rest-port
היציאה שבה מוגשות בקשות REST
סוג: מספר שלם לא חתום באורך 16 ביט, בין 0 ל-65,535 (כולל שניהם)
ברירת המחדל: 9020