Containers
Nix
OpenClaw را بهصورت اعلانی با nix-openclaw، ماژول رسمی و کامل Home Manager، نصب کنید.
آنچه دریافت میکنید
- Gateway + برنامه macOS + ابزارها (whisper، spotify، دوربینها)، همگی با نسخههای تثبیتشده
- سرویس launchd که پس از راهاندازی مجدد نیز فعال میماند
- سامانه Plugin با پیکربندی اعلانی
- بازگردانی فوری:
home-manager switch --rollback
شروع سریع
نصب Determinate Nix
اگر Nix از قبل نصب نشده است، دستورالعملهای نصبکننده Determinate Nix را دنبال کنید.
ایجاد یک flake محلی
از الگوی عاملمحور مخزن nix-openclaw استفاده کنید:
mkdir -p ~/code/openclaw-local# Copy templates/agent-first/flake.nix from the nix-openclaw repoپیکربندی اسرار
توکن ربات پیامرسان و کلید API ارائهدهنده مدل را تنظیم کنید. فایلهای ساده در ~/.secrets/ کاملاً مناسباند.
تکمیل جاینگهدارهای الگو و اعمال پیکربندی
home-manager switchتأیید
اطمینان حاصل کنید که سرویس launchd در حال اجرا است و ربات شما به پیامها پاسخ میدهد.
برای مشاهده همه گزینهها و مثالهای ماژول، به README مربوط به nix-openclaw مراجعه کنید.
رفتار زمان اجرا در حالت Nix
وقتی OPENCLAW_NIX_MODE=1 تنظیم شده باشد (که با nix-openclaw بهطور خودکار انجام میشود)، OpenClaw برای نصبهای مدیریتشده با Nix وارد حالتی قطعی میشود. سایر بستههای Nix نیز میتوانند همین حالت را تنظیم کنند؛ nix-openclaw مرجع رسمی است.
همچنین میتوانید آن را بهصورت دستی تنظیم کنید:
export OPENCLAW_NIX_MODE=1در macOS، برنامه رابط گرافیکی متغیرهای محیطی پوسته را به ارث نمیبرد. در عوض، حالت Nix را از طریق defaults فعال کنید:
defaults write ai.openclaw.mac openclaw.nixMode -bool trueتغییرات در حالت Nix
- فرایندهای نصب خودکار و تغییر خودکار غیرفعال میشوند.
- با
openclaw.jsonبهعنوان فایلی تغییرناپذیر رفتار میشود. مقادیر پیشفرض استنتاجشده هنگام راهاندازی فقط در زمان اجرا باقی میمانند و ابزارهای نگارش پیکربندی (راهاندازی، فرایند آغازین،openclaw updateتغییردهنده، نصب/بهروزرسانی/حذف/فعالسازی Plugin،doctor --fix،doctor --generate-gateway-token،openclaw config set) از ویرایش فایل خودداری میکنند. - بهجای آن، منبع Nix را ویرایش کنید. برای nix-openclaw، از شروع سریع عاملمحور استفاده کنید و پیکربندی را در
programs.openclaw.configیاinstances.<name>.configتنظیم کنید. - وابستگیهای مفقود، پیامهای رفع مشکل ویژه Nix را نمایش میدهند.
- رابط کاربری یک نوار حالت فقطخواندنی Nix نشان میدهد.
مسیرهای پیکربندی و وضعیت
OpenClaw پیکربندی JSON5 را از OPENCLAW_CONFIG_PATH میخواند و دادههای تغییرپذیر را در OPENCLAW_STATE_DIR ذخیره میکند. در Nix، این مسیرها را صراحتاً روی مکانهای مدیریتشده با Nix تنظیم کنید تا وضعیت زمان اجرا و پیکربندی خارج از مخزن تغییرناپذیر باقی بمانند.
| متغیر | پیشفرض |
|---|---|
OPENCLAW_HOME |
HOME / USERPROFILE / os.homedir() |
OPENCLAW_STATE_DIR |
~/.openclaw |
OPENCLAW_CONFIG_PATH |
$OPENCLAW_STATE_DIR/openclaw.json |
کشف PATH سرویس
سرویس Gateway مربوط به launchd/systemd، فایلهای اجرایی نمایه Nix را بهطور خودکار کشف میکند تا Pluginها و ابزارهایی که فایلهای اجرایی نصبشده با nix را از طریق پوسته اجرا میکنند، بدون تنظیم دستی PATH کار کنند:
- وقتی
NIX_PROFILESتنظیم شده باشد، هر ورودی با اولویت از راست به چپ به PATH سرویس افزوده میشود (مطابق اولویت پوسته Nix: راستترین مورد برنده است). - وقتی
NIX_PROFILESتنظیم نشده باشد،~/.nix-profile/binبهعنوان مسیر جایگزین افزوده میشود.
این رفتار هم برای محیطهای سرویس launchd در macOS و هم systemd در Linux اعمال میشود.