Установка через Nix

Рекомендуемый способ запуска OpenClaw с Nix — nix-openclaw — модуль Home Manager со всем необходимым.

Быстрый старт

Вставьте это вашему AI-агенту (Claude, Cursor и т.д.):

I want to set up nix-openclaw on my Mac.
Repository: github:openclaw/nix-openclaw

What I need you to do:
1. Check if Determinate Nix is installed (if not, install it)
2. Create a local flake at ~/code/openclaw-local using templates/agent-first/flake.nix
3. Help me create a Telegram bot (@BotFather) and get my chat ID (@userinfobot)
4. Set up secrets (bot token, model provider API key) - plain files at ~/.secrets/ is fine
5. Fill in the template placeholders and run home-manager switch
6. Verify: launchd running, bot responds to messages

Reference the nix-openclaw README for module options.

Полное руководство: github.com/openclaw/nix-openclaw

Репозиторий nix-openclaw — основной источник по установке через Nix. Эта страница — краткий обзор.

Что вы получите

  • Gateway + macOS-приложение + инструменты (whisper, spotify, cameras) — все закреплённые версии
  • Сервис launchd, переживающий перезагрузки
  • Система плагинов с декларативной конфигурацией
  • Мгновенный откат: home-manager switch --rollback

Поведение Nix Mode в runtime

Когда установлен OPENCLAW_NIX_MODE=1 (автоматически с nix-openclaw):

OpenClaw поддерживает Nix mode, который делает конфигурацию детерминированной и отключает автоматические установочные процессы. Включите экспортом:

OPENCLAW_NIX_MODE=1

На macOS GUI-приложение не наследует переменные окружения shell автоматически. Nix mode можно также включить через defaults:

defaults write ai.openclaw.mac openclaw.nixMode -bool true

Пути конфигурации и состояния

OpenClaw читает JSON5-конфигурацию из OPENCLAW_CONFIG_PATH и хранит изменяемые данные в OPENCLAW_STATE_DIR. При необходимости можно также задать OPENCLAW_HOME для управления базовой домашней директорией.

  • OPENCLAW_HOME (приоритет по умолчанию: HOME / USERPROFILE / os.homedir())
  • OPENCLAW_STATE_DIR (по умолчанию: ~/.openclaw)
  • OPENCLAW_CONFIG_PATH (по умолчанию: $OPENCLAW_STATE_DIR/openclaw.json)

При работе под Nix задавайте их явно на Nix-управляемые расположения, чтобы runtime-состояние и конфигурация не попадали в неизменяемое хранилище.

Поведение в Nix mode

  • Автоустановка и потоки самомодификации отключены
  • При отсутствии зависимостей выводятся Nix-специфичные рекомендации
  • UI показывает баннер «read-only Nix mode»

Замечание о сборке (macOS)

Процесс сборки macOS ожидает стабильный шаблон Info.plist по пути:

apps/macos/Sources/OpenClaw/Resources/Info.plist

scripts/package-mac-app.sh копирует этот шаблон в app bundle и подставляет динамические поля (bundle ID, version/build, Git SHA, ключи Sparkle). Это обеспечивает детерминированность plist для SwiftPM и Nix-сборок (которые не зависят от полного Xcode toolchain).

Связанные материалы