Установка с Nix
Рекомендуемый способ запуска OpenClaw с Nix — через nix-openclaw — модуль Home Manager с полным набором возможностей.
Быстрый старт
Вставьте это вашему AI-агенту (Claude, Cursor и т.д.):
Я хочу настроить nix-openclaw на моём Mac.
Репозиторий: github:openclaw/nix-openclaw
Что мне нужно, чтобы ты сделал:
1. Проверь, установлен ли Determinate Nix (если нет, установи его)
2. Создай локальный flake по адресу ~/code/openclaw-local, используя templates/agent-first/flake.nix
3. Помоги мне создать Telegram-бота (@BotFather) и получить мой chat ID (@userinfobot)
4. Настрой секреты (токен бота, ключ Anthropic) - обычные файлы в ~/.secrets/ подходят
5. Заполни заполнители шаблона и запусти home-manager switch
6. Проверь: launchd запущен, бот отвечает на сообщения
Сошлись на README nix-openclaw для опций модуля.
📦 Полное руководство: github.com/openclaw/nix-openclaw
Репозиторий nix-openclaw — это источник истины для установки с Nix. Эта страница — просто краткий обзор.
Что вы получите
- Gateway + приложение macOS + инструменты (whisper, spotify, cameras) — всё закреплено
- Сервис Launchd, который переживает перезагрузки
- Система плагинов с декларативной конфигурацией
- Мгновенный откат: home-manager switch --rollback
Поведение во время выполнения в режиме Nix
Когда установлен OPENCLAW_NIX_MODE=1 (автоматически с nix-openclaw):
OpenClaw поддерживает режим Nix, который делает конфигурацию детерминированной и отключает потоки автоустановки. Включите его, экспортировав:
OPENCLAW_NIX_MODE=1
В macOS GUI-приложение не наследует автоматически переменные окружения оболочки. Вы также можете включить режим Nix через defaults:
defaults write bot.molt.mac openclaw.nixMode -bool true
Пути конфигурации + состояния
OpenClaw читает конфигурацию JSON5 из OPENCLAW_CONFIG_PATH и хранит изменяемые данные в OPENCLAW_STATE_DIR.
- OPENCLAW_STATE_DIR (по умолчанию: ~/.openclaw)
- OPENCLAW_CONFIG_PATH (по умолчанию: $OPENCLAW_STATE_DIR/openclaw.json)
При запуске под Nix установите их явно в управляемые Nix местоположения, чтобы состояние времени выполнения и конфигурация оставались вне неизменяемого хранилища.
Поведение во время выполнения в режиме Nix
- Потоки автоустановки и самомутации отключены
- Отсутствующие зависимости выдают сообщения о решении проблем, специфичные для Nix
- UI показывает баннер режима Nix только для чтения, когда присутствует
Примечание по упаковке (macOS)
Поток упаковки macOS ожидает стабильный шаблон Info.plist по адресу:
apps/macos/Sources/OpenClaw/Resources/Info.plist
scripts/package-mac-app.sh копирует этот шаблон в пакет приложения и исправляет динамические поля (bundle ID, версия/сборка, Git SHA, ключи Sparkle). Это сохраняет plist детерминированным для упаковки SwiftPM и сборок Nix (которые не полагаются на полный набор инструментов Xcode).
Связанное
- nix-openclaw — полное руководство по настройке
- Wizard — настройка CLI без Nix
- Docker — контейнеризованная настройка