Containers
Nix
OpenClaw را بهصورت اعلانی با nix-openclaw، ماژول رسمی و کامل Home Manager، نصب کنید.
چه امکاناتی دریافت میکنید
- Gateway + برنامه macOS + ابزارها (whisper، spotify، دوربینها)، همگی با نسخههای ثابت
- سرویس Launchd که پس از راهاندازی مجدد نیز فعال میماند
- سامانه Plugin با پیکربندی اعلانی
- بازگردانی فوری:
home-manager switch --rollback
شروع سریع
نصب Determinate Nix
اگر Nix از قبل نصب نشده است، دستورالعملهای نصبکننده Determinate Nix را دنبال کنید.
ایجاد یک flake محلی
از قالب agent-first در مخزن nix-openclaw استفاده کنید:
mkdir -p ~/code/openclaw-local# فایل templates/agent-first/flake.nix را از مخزن nix-openclaw کپی کنیدپیکربندی اسرار
توکن ربات پیامرسان و کلید 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، از شروع سریع مبتنی بر agent-first استفاده کنید و پیکربندی را زیر
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 اعمال میشود.