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:
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зі змінами, установлення/оновлення/видалення/увімкнення 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.
Пов’язані матеріали
Офіційний модуль Home Manager і повний посібник із налаштування.
Покрокове налаштування через CLI без використання Nix.
Контейнеризоване налаштування як альтернатива без використання Nix.
Оновлення керованих Home Manager встановлень разом із пакетом.