Skip to main content

Instalacja Nix

Zalecanym sposobem uruchamiania OpenClaw z Nix jest nix-openclaw — moduł Home Manager „z pełnym zestawem”.

Szybki start

Wklej to do swojego agenta AI (Claude, Cursor itp.):
📦 Pełny przewodnik: github.com/openclaw/nix-openclaw Repozytorium nix-openclaw jest źródłem prawdy dla instalacji Nix. Ta strona to jedynie szybki przegląd.

Co otrzymujesz

  • Gateway + aplikację na macOS + narzędzia (whisper, spotify, kamery) — wszystko przypięte
  • Usługę launchd, która przetrwa restarty
  • System wtyczek z konfiguracją deklaratywną
  • Natychmiastowe cofanie zmian: home-manager switch --rollback

Zachowanie środowiska uruchomieniowego w trybie Nix

Gdy ustawione jest OPENCLAW_NIX_MODE=1 (automatycznie z nix-openclaw): OpenClaw obsługuje tryb Nix, który czyni konfigurację deterministyczną i wyłącza przepływy auto‑instalacji. Włącz go, eksportując:
W macOS aplikacja GUI nie dziedziczy automatycznie zmiennych środowiskowych powłoki. Możesz również włączyć tryb Nix za pomocą defaults:

Ścieżki konfiguracji i stanu

OpenClaw czyta konfigurację JSON5 z OPENCLAW_CONFIG_PATH i przechowuje dane mutowalne w OPENCLAW_STATE_DIR. When needed, you can also set OPENCLAW_HOME to control the base home directory used for internal path resolution.
  • OPENCLAW_HOME (domyślna kolejność pierwszeństwa: HOME / USERPROFILE / os.homedir())
  • OPENCLAW_STATE_DIR (domyślnie: ~/.openclaw)
  • OPENCLAW_CONFIG_PATH (domyślnie: $OPENCLAW_STATE_DIR/openclaw.json)
Podczas uruchamiania w Nix ustaw je jawnie na lokalizacje zarządzane przez Nix, aby stan środowiska uruchomieniowego i konfiguracja pozostały poza niemutowalnym store.

Zachowanie środowiska uruchomieniowego w trybie Nix

  • Przepływy auto‑instalacji i samomutacji są wyłączone
  • Brakujące zależności zgłaszają komunikaty naprawcze specyficzne dla Nix
  • Interfejs wyświetla baner trybu Nix tylko do odczytu, gdy jest obecny

Uwaga dotycząca pakowania (macOS)

Proces pakowania macOS oczekuje stabilnego szablonu Info.plist w:
scripts/package-mac-app.sh kopiuje ten szablon do pakietu aplikacji i łata pola dynamiczne (identyfikator pakietu, wersja/build, Git SHA, klucze Sparkle). Dzięki temu plist pozostaje deterministyczny dla pakowania SwiftPM oraz buildów Nix (które nie polegają na pełnym łańcuchu narzędzi Xcode).

Powiązane

  • nix-openclaw — pełny przewodnik konfiguracji
  • Wizard — konfiguracja CLI bez Nix
  • Docker — konfiguracja konteneryzowana