نام
nix.conf - فایل پیکربندی Nix
توضیحات
Nix از تنظیمات پیکربندی متنوعی پشتیبانی میکند که از فایلهای پیکربندی خوانده میشوند یا به عنوان پرچمهای خط فرمان دریافت میشوند.
فایل پیکربندی
به طور پیشفرض، Nix تنظیمات را از هر یک از مکانهای زیر میخواند. تنظیمات روی یکدیگر اعمال میشوند، بنابراین تنظیمات مؤخرتر، ورودیهای قبلی را بازنویسی میکنند.
فایل پیکربندی سرتاسر سیستم
nix.confدر پوشهی پیکربندی.پوشهی پیکربندی به طور پیشفرض
${'{'}sysconfdir{'}'}/nix(یعنی/etc/nixدر اکثر سیستمهای یونیکس) یا%PROGRAMDATA%\nix\confدر ویندوز است، و میتوان آن را باNIX_CONF_DIRبازنشانی کرد.مقادیر بارگذاریشده در این فایل به daemon منتقل نمیشوند. کلاینت فرض میکند که daemon آنها را از پیش بارگذاری کرده است.
اگر
NIX_USER_CONF_FILESتنظیم شده باشد، هر مسیر در فهرست به ترتیب معکوس بارگذاری خواهد شد. جداکنندهی فهرست در یونیکس:و در ویندوز;است.در غیر این صورت، به دنبال
nix.confدر مکانهای زیر خواهد گشت:- پوشهی پیکربندی کاربر
- علاوه بر این در یونیکس،
nix/nix.confتحت هر پوشه درXDG_CONFIG_DIRS
اگر
NIX_CONFIGتنظیم شده باشد، محتویات آن به عنوان محتویات یک فایل پیکربندی در نظر گرفته میشوند. به طور خاص، تنظیمات درست مانند فایل پیکربندی با نویسههای خط جدید از یکدیگر جدا میشوند.
ساختار فایل
فایلهای پیکربندی شامل جفتهای نام-مقدار name = value هستند که در هر خط یک جفت قرار دارد.
توضیحات با یک کاراکتر # شروع میشوند.
مثال:
keep-outputs = true # Nice for developers
keep-derivations = true # Idem سایر فایلها را میتوان با خطی به شکل include <path> شامل کرد که در آن <path> نسبت به فایل پیکربندی فعلی تفسیر میشود.
نبود یک فایل یک خطا محسوب میشود، مگر اینکه به جای آن از !include استفاده شود.
یک تنظیمات پیکربندی معمولاً مقدار قبلی را بازنویسی میکند.
با این حال، برای تنظیماتی که فهرستی از موارد را میپذیرند، میتوانید پیشوند extra- را به نام تنظیمات اضافه کنید تا به مقدار قبلی الحاق شود.
برای نمونه،
substituters = a b
extra-substituters = c d تنظیمات substituters را به عنوان a b c d تعریف میکند.
نامهای نامعتبر گزینهها خطا محسوب نمیشوند و صرفاً با نمایش یک هشدار نادیده گرفته میشوند.
پرچمهای خط فرمان
گزینههای پیکربندی را میتوان در خط فرمان تنظیم کرد که مقادیر تعیینشده در فایل پیکربندی را بازنویسی میکنند:
هر تنظیمات پیکربندی دارای یک پرچم خط فرمان متناظر است (مانند
--max-jobs 16). تنظیمات بولی نیازی به آرگومان ندارند و میتوان آنها را با پیشوندno-به طور صریح غیرفعال کرد (مانند--keep-failedو--no-keep-failed).نامهای نامعتبر گزینهها پرچمهای نامعتبری هستند (مگر اینکه از قبل پرچمی با آن نام وجود داشته باشد) و با بروز خطا رد میشوند.
پرچم
--option <name> <value>دقیقاً مانند یک خط<name> = <value>در یک فایل تنظیمات تفسیر میشود.نامهای نامعتبر گزینهها با نمایش یک هشدار نادیده گرفته میشوند.
پیشوند extra- برای تنظیماتی که فهرستی از موارد را میپذیرند پشتیبانی میشود (مانند --extra-trusted users alice یا --option extra-trusted-users alice).
تنظیمات عدد صحیح
تنظیماتی که دارای نوع عدد صحیح هستند، از پسوندهای K، M، G و T پشتیبانی میکنند. این پسوندها باعث میشوند که مقدار مشخصشده به ترتیب در 2^10، 2^20، 2^30 و 2^40 ضرب شود. برای نمونه، --min-free 1M معادل --min-free 1048576 است.