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 استفاده کنید:

    bash
    mkdir -p ~/code/openclaw-local# فایل templates/agent-first/flake.nix را از مخزن nix-openclaw کپی کنید
  • پیکربندی اسرار

    توکن ربات پیام‌رسان و کلید API ارائه‌دهنده مدل را تنظیم کنید. فایل‌های متنی ساده در ~/.secrets/ به‌خوبی کار می‌کنند.

  • تکمیل جای‌نگهدارهای قالب و اعمال پیکربندی

    bash
    home-manager switch
  • تأیید

    اطمینان حاصل کنید که سرویس launchd در حال اجرا است و ربات به پیام‌ها پاسخ می‌دهد.

  • برای مشاهده تمام گزینه‌های ماژول و نمونه‌ها، به README مربوط به nix-openclaw مراجعه کنید.

    رفتار زمان اجرا در حالت Nix

    وقتی OPENCLAW_NIX_MODE=1 تنظیم شده باشد (در nix-openclaw به‌صورت خودکار)، OpenClaw برای نصب‌های مدیریت‌شده با Nix وارد حالت قطعی می‌شود. سایر بسته‌های Nix نیز می‌توانند همین حالت را تنظیم کنند؛ nix-openclaw مرجع رسمی است.

    همچنین می‌توانید آن را به‌صورت دستی تنظیم کنید:

    bash
    export OPENCLAW_NIX_MODE=1

    در macOS، برنامه رابط گرافیکی متغیرهای محیطی پوسته را به ارث نمی‌برد. به‌جای آن، حالت Nix را از طریق defaults فعال کنید:

    bash
    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 اعمال می‌شود.

    مرتبط

    Was this useful?
    On this page

    On this page