Containers
Nix
Zainstaluj OpenClaw deklaratywnie za pomocą nix-openclaw - oficjalnego modułu Home Manager z pełnym zestawem funkcji.
Co otrzymujesz
- Gateway + aplikacja macOS + narzędzia (whisper, spotify, cameras) -- wszystko przypięte
- Usługa launchd działająca po ponownym uruchomieniu
- System Plugin z deklaratywną konfiguracją
- Natychmiastowe wycofanie:
home-manager switch --rollback
Szybki start
Zainstaluj Determinate Nix
Jeśli Nix nie jest jeszcze zainstalowany, postępuj zgodnie z instrukcjami instalatora Determinate Nix.
Utwórz lokalny flake
Użyj szablonu agent-first z repozytorium nix-openclaw:
mkdir -p ~/code/openclaw-local
# Copy templates/agent-first/flake.nix from the nix-openclaw repo
Skonfiguruj sekrety
Skonfiguruj token bota komunikatora i klucz API dostawcy modelu. Zwykłe pliki w ~/.secrets/ działają dobrze.
Wypełnij symbole zastępcze w szablonie i przełącz
home-manager switch
Zweryfikuj
Potwierdź, że usługa launchd działa, a bot odpowiada na wiadomości.
Pełne opcje modułu i przykłady znajdziesz w README nix-openclaw.
Zachowanie runtime w trybie Nix
Gdy ustawione jest OPENCLAW_NIX_MODE=1 (automatycznie z nix-openclaw), OpenClaw przechodzi w deterministyczny tryb dla instalacji zarządzanych przez Nix. Inne pakiety Nix mogą ustawić ten sam tryb; nix-openclaw jest oficjalnym punktem odniesienia.
Możesz też ustawić go ręcznie:
export OPENCLAW_NIX_MODE=1
W macOS aplikacja GUI nie dziedziczy automatycznie zmiennych środowiskowych powłoki. Zamiast tego włącz tryb Nix przez defaults:
defaults write ai.openclaw.mac openclaw.nixMode -bool true
Co zmienia się w trybie Nix
- Przepływy automatycznej instalacji i samomodyfikacji są wyłączone
openclaw.jsonjest traktowany jako niezmienny. Wartości domyślne wyprowadzone podczas uruchamiania pozostają tylko w runtime, a zapisujące konfigurację mechanizmy, takie jak setup, onboarding, modyfikująceopenclaw update, instalacja/aktualizacja/odinstalowanie/włączenie pluginu,doctor --fix,doctor --generate-gateway-tokeniopenclaw config set, odmawiają edycji pliku.- Agenci powinni zamiast tego edytować źródło Nix. Dla nix-openclaw użyj agent-first Szybkiego startu i ustaw konfigurację w
programs.openclaw.configlubinstances.<name>.config. - Brakujące zależności wyświetlają komunikaty naprawcze specyficzne dla Nix
- UI wyświetla baner trybu Nix tylko do odczytu
Ścieżki konfiguracji i stanu
OpenClaw odczytuje konfigurację JSON5 z OPENCLAW_CONFIG_PATH i przechowuje dane mutowalne w OPENCLAW_STATE_DIR. Podczas działania w Nix ustaw je jawnie na lokalizacje zarządzane przez Nix, aby stan runtime i konfiguracja pozostały poza niezmiennym magazynem.
| Zmienna | Domyślnie |
|---|---|
OPENCLAW_HOME |
HOME / USERPROFILE / os.homedir() |
OPENCLAW_STATE_DIR |
~/.openclaw |
OPENCLAW_CONFIG_PATH |
$OPENCLAW_STATE_DIR/openclaw.json |
Wykrywanie PATH usługi
Usługa gateway launchd/systemd automatycznie wykrywa pliki binarne z profilu Nix, dzięki czemu
pluginy i narzędzia wywołujące pliki wykonywalne zainstalowane przez nix działają bez
ręcznej konfiguracji PATH:
- Gdy ustawione jest
NIX_PROFILES, każdy wpis jest dodawany do PATH usługi z priorytetem od prawej do lewej (zgodnie z priorytetem powłoki Nix - wygrywa skrajnie prawy). - Gdy
NIX_PROFILESnie jest ustawione,~/.nix-profile/binjest dodawane jako rezerwa.
Dotyczy to zarówno środowisk usług macOS launchd, jak i Linux systemd.