Containers
Nix
Установите OpenClaw декларативно с помощью nix-openclaw — официального полнофункционального модуля Home Manager.
Что вы получите
- Gateway + приложение для macOS + инструменты (whisper, spotify, камеры), все версии зафиксированы
- Служба launchd, продолжающая работать после перезагрузки
- Система плагинов с декларативной конфигурацией
- Мгновенный откат:
home-manager switch --rollback
Быстрый старт
Установите Determinate Nix
Если Nix ещё не установлен, следуйте инструкциям установщика Determinate Nix.
Создайте локальный flake
Используйте шаблон с приоритетом агента из репозитория nix-openclaw:
mkdir -p ~/code/openclaw-local# Скопируйте templates/agent-first/flake.nix из репозитория nix-openclawНастройте секреты
Укажите токен бота для обмена сообщениями и API-ключ поставщика моделей. Обычные файлы в ~/.secrets/ вполне подходят.
Заполните заполнители шаблона и примените конфигурацию
home-manager switchПроверьте
Убедитесь, что служба launchd работает, а бот отвечает на сообщения.
Полный список параметров модуля и примеры см. в README nix-openclaw.
Поведение среды выполнения в режиме Nix
Когда задано OPENCLAW_NIX_MODE=1 (при использовании nix-openclaw это происходит автоматически), OpenClaw переходит в детерминированный режим для установок под управлением Nix. Другие пакеты Nix также могут включать этот режим; nix-openclaw является официальной эталонной реализацией.
Его также можно включить вручную:
export OPENCLAW_NIX_MODE=1В macOS приложение с графическим интерфейсом не наследует переменные окружения оболочки. Вместо этого включите режим Nix с помощью defaults:
defaults write ai.openclaw.mac openclaw.nixMode -bool trueЧто меняется в режиме Nix
- Механизмы автоматической установки и самоизменения отключены.
openclaw.jsonсчитается неизменяемым. Значения по умолчанию, определяемые при запуске, применяются только во время выполнения, а средства записи конфигурации (первоначальная настройка, ввод в эксплуатацию, изменяющие операцииopenclaw update, установка, обновление, удаление и включение плагинов,doctor --fix,doctor --generate-gateway-token,openclaw config set) отказываются изменять файл.- Вместо этого измените исходный код Nix. Для nix-openclaw используйте ориентированный на агента раздел «Быстрый старт» и задайте конфигурацию в
programs.openclaw.configилиinstances.<name>.config. - При отсутствии зависимостей отображаются специальные сообщения Nix с инструкциями по устранению проблемы.
- В интерфейсе отображается баннер режима Nix «только для чтения».
Пути конфигурации и состояния
OpenClaw считывает конфигурацию JSON5 из OPENCLAW_CONFIG_PATH и хранит изменяемые данные в OPENCLAW_STATE_DIR. При использовании Nix явно задайте для них расположения под управлением Nix, чтобы состояние среды выполнения и конфигурация не попадали в неизменяемое хранилище.
| Переменная | Значение по умолчанию |
|---|---|
OPENCLAW_HOME |
HOME / USERPROFILE / os.homedir() |
OPENCLAW_STATE_DIR |
~/.openclaw |
OPENCLAW_CONFIG_PATH |
$OPENCLAW_STATE_DIR/openclaw.json |
Обнаружение PATH для службы
Служба Gateway для launchd/systemd автоматически обнаруживает исполняемые файлы профиля Nix, поэтому плагины и инструменты, запускающие исполняемые файлы, установленные через nix, работают без ручной настройки PATH:
- Когда задано
NIX_PROFILES, каждая запись добавляется в PATH службы с приоритетом справа налево (как в оболочке Nix: побеждает крайняя справа). - Если
NIX_PROFILESне задано, в качестве резервного варианта добавляется~/.nix-profile/bin.
Это относится как к окружению службы launchd в macOS, так и к окружению службы systemd в Linux.