Containers

Nix

Встановіть OpenClaw декларативно за допомогою nix-openclaw — офіційного повнофункціонального модуля Home Manager.

Що ви отримаєте

  • Gateway + застосунок для macOS + інструменти (whisper, spotify, камери), усі із зафіксованими версіями
  • Служба launchd, яка продовжує працювати після перезавантажень
  • Система Plugin із декларативною конфігурацією
  • Миттєве відкочування: home-manager switch --rollback

Швидкий початок

  • Установіть Determinate Nix

    Якщо Nix ще не встановлено, дотримуйтеся інструкцій інсталятора Determinate Nix.

  • Створіть локальний flake

    Скористайтеся шаблоном, орієнтованим на агента, з репозиторію nix-openclaw:

    bash
    mkdir -p ~/code/openclaw-local# Скопіюйте templates/agent-first/flake.nix із репозиторію nix-openclaw
  • Налаштуйте секрети

    Налаштуйте токен бота для обміну повідомленнями та ключ API постачальника моделі. Звичайні файли в ~/.secrets/ цілком підходять.

  • Заповніть заповнювачі в шаблоні та застосуйте конфігурацію

    bash
    home-manager switch
  • Перевірте

    Переконайтеся, що служба launchd працює, а ваш бот відповідає на повідомлення.

  • Повний перелік параметрів модуля та приклади див. у README nix-openclaw.

    Поведінка середовища виконання в режимі Nix

    Коли встановлено OPENCLAW_NIX_MODE=1 (автоматично з nix-openclaw), OpenClaw переходить у детермінований режим для встановлень, керованих Nix. Інші пакети Nix також можуть установлювати цей режим; nix-openclaw є офіційною еталонною реалізацією.

    Його також можна встановити вручну:

    bash
    export OPENCLAW_NIX_MODE=1

    У macOS застосунок із графічним інтерфейсом не успадковує змінні середовища оболонки. Натомість увімкніть режим Nix через defaults:

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

    Що змінюється в режимі Nix

    • Потоки автоматичного встановлення та самомодифікації вимкнено.
    • openclaw.json вважається незмінним. Значення за замовчуванням, визначені під час запуску, залишаються лише в середовищі виконання, а засоби запису конфігурації (початкове налаштування, перше налаштування, openclaw update зі змінами, установлення/оновлення/видалення/увімкнення Plugin, 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, тому Plugin та інструменти, які запускають установлені через nix виконувані файли з оболонки, працюють без ручного налаштування PATH:

    • Коли встановлено NIX_PROFILES, кожен запис додається до PATH служби з пріоритетом справа наліво (відповідно до пріоритету оболонки Nix: крайній праворуч має перевагу).
    • Коли NIX_PROFILES не встановлено, ~/.nix-profile/bin додається як резервний варіант.

    Це стосується як середовищ служби launchd у macOS, так і systemd у Linux.

    Пов’язані матеріали

    Was this useful?
    On this page

    On this page