Containers
Nix
OpenClaw को प्रथम-पक्ष, सभी सुविधाओं से युक्त Home Manager मॉड्यूल nix-openclaw के साथ घोषणात्मक रूप से इंस्टॉल करें।
आपको क्या मिलता है
- Gateway + macOS ऐप + टूल (whisper, spotify, कैमरे), सभी निश्चित संस्करणों पर पिन किए गए
- Launchd सेवा, जो रीबूट के बाद भी चलती रहती है
- घोषणात्मक कॉन्फ़िगरेशन वाला Plugin सिस्टम
- तत्काल रोलबैक:
home-manager switch --rollback
त्वरित शुरुआत
Determinate Nix इंस्टॉल करें
यदि Nix पहले से इंस्टॉल नहीं है, तो Determinate Nix इंस्टॉलर के निर्देशों का पालन करें।
स्थानीय flake बनाएँ
nix-openclaw रिपॉज़िटरी के एजेंट-प्रथम टेम्पलेट का उपयोग करें:
mkdir -p ~/code/openclaw-local# nix-openclaw रिपॉज़िटरी से templates/agent-first/flake.nix कॉपी करेंसीक्रेट कॉन्फ़िगर करें
अपने मैसेजिंग बॉट का टोकन और मॉडल प्रदाता की API कुंजी सेट अप करें। ~/.secrets/ पर साधारण फ़ाइलें ठीक काम करती हैं।
टेम्पलेट प्लेसहोल्डर भरें और स्विच करें
home-manager switchसत्यापित करें
पुष्टि करें कि launchd सेवा चल रही है और आपका बॉट संदेशों का उत्तर देता है।
मॉड्यूल के सभी विकल्पों और उदाहरणों के लिए nix-openclaw README देखें।
Nix-मोड का रनटाइम व्यवहार
जब OPENCLAW_NIX_MODE=1 सेट होता है (nix-openclaw के साथ स्वचालित रूप से), तो OpenClaw, Nix-प्रबंधित इंस्टॉलेशन के लिए नियतात्मक मोड में प्रवेश करता है। अन्य Nix पैकेज भी यही मोड सेट कर सकते हैं; nix-openclaw प्रथम-पक्ष संदर्भ है।
आप इसे मैन्युअल रूप से भी सेट कर सकते हैं:
export OPENCLAW_NIX_MODE=1macOS पर GUI ऐप को शेल एनवायरनमेंट वेरिएबल इनहेरिट नहीं होते। इसके बजाय defaults के माध्यम से Nix मोड सक्षम करें:
defaults write ai.openclaw.mac openclaw.nixMode -bool trueNix मोड में क्या बदलता है
- स्वतः इंस्टॉलेशन और स्व-परिवर्तन प्रवाह अक्षम रहते हैं।
openclaw.jsonको अपरिवर्तनीय माना जाता है। स्टार्टअप से प्राप्त डिफ़ॉल्ट केवल रनटाइम तक सीमित रहते हैं और कॉन्फ़िगरेशन राइटर (सेटअप, ऑनबोर्डिंग, परिवर्तनकारीopenclaw update, Plugin इंस्टॉल/अपडेट/अनइंस्टॉल/सक्षम करना,doctor --fix,doctor --generate-gateway-token,openclaw config set) फ़ाइल को संपादित करने से इनकार करते हैं।- इसके बजाय Nix स्रोत को संपादित करें। nix-openclaw के लिए, एजेंट-प्रथम त्वरित शुरुआत का उपयोग करें और कॉन्फ़िगरेशन को
programs.openclaw.configयाinstances.<name>.configके अंतर्गत सेट करें। - अनुपलब्ध डिपेंडेंसी के लिए Nix-विशिष्ट समाधान संदेश दिखाई देते हैं।
- UI केवल-पढ़ने योग्य Nix मोड बैनर दिखाता है।
कॉन्फ़िगरेशन और स्थिति के पथ
OpenClaw OPENCLAW_CONFIG_PATH से JSON5 कॉन्फ़िगरेशन पढ़ता है और परिवर्तनशील डेटा को OPENCLAW_STATE_DIR में संग्रहीत करता है। Nix के अंतर्गत इन्हें Nix-प्रबंधित स्थानों पर स्पष्ट रूप से सेट करें, ताकि रनटाइम स्थिति और कॉन्फ़िगरेशन अपरिवर्तनीय स्टोर से बाहर रहें।
| वेरिएबल | डिफ़ॉल्ट |
|---|---|
OPENCLAW_HOME |
HOME / USERPROFILE / os.homedir() |
OPENCLAW_STATE_DIR |
~/.openclaw |
OPENCLAW_CONFIG_PATH |
$OPENCLAW_STATE_DIR/openclaw.json |
सेवा PATH की खोज
launchd/systemd Gateway सेवा Nix-प्रोफ़ाइल बाइनरी को स्वतः खोजती है, ताकि nix द्वारा इंस्टॉल किए गए एक्ज़ीक्यूटेबल चलाने वाले Plugin और टूल, PATH को मैन्युअल रूप से सेट किए बिना काम करें:
- जब
NIX_PROFILESसेट होता है, तो प्रत्येक प्रविष्टि को दाएँ-से-बाएँ प्राथमिकता क्रम में सेवा PATH में जोड़ा जाता है (Nix शेल प्राथमिकता से मेल खाता है: सबसे दाईं प्रविष्टि प्रभावी होती है)। - जब
NIX_PROFILESसेट नहीं होता, तो~/.nix-profile/binको फ़ॉलबैक के रूप में जोड़ा जाता है।
यह macOS के launchd और Linux के systemd, दोनों सेवा परिवेशों पर लागू होता है।