Containers

Nix

Instal OpenClaw secara deklaratif dengan nix-openclaw, modul Home Manager resmi dengan semua komponen yang diperlukan.

Yang Anda dapatkan

  • Gateway + aplikasi macOS + alat (whisper, spotify, kamera), semuanya dikunci ke versi tertentu
  • Layanan launchd yang tetap berjalan setelah sistem dimulai ulang
  • Sistem Plugin dengan konfigurasi deklaratif
  • Pengembalian instan: home-manager switch --rollback

Mulai cepat

  • Instal Determinate Nix

    Jika Nix belum terinstal, ikuti petunjuk penginstal Determinate Nix.

  • Buat flake lokal

    Gunakan templat yang mengutamakan agen dari repositori nix-openclaw:

    bash
    mkdir -p ~/code/openclaw-local# Salin templates/agent-first/flake.nix dari repositori nix-openclaw
  • Konfigurasikan rahasia

    Siapkan token bot perpesanan dan kunci API penyedia model Anda. Berkas biasa di ~/.secrets/ dapat digunakan.

  • Isi placeholder templat dan terapkan

    bash
    home-manager switch
  • Verifikasi

    Pastikan layanan launchd berjalan dan bot Anda merespons pesan.

  • Lihat README nix-openclaw untuk opsi dan contoh modul lengkap.

    Perilaku runtime mode Nix

    Saat OPENCLAW_NIX_MODE=1 ditetapkan (otomatis dengan nix-openclaw), OpenClaw memasuki mode deterministik untuk instalasi yang dikelola Nix. Paket Nix lainnya dapat menetapkan mode yang sama; nix-openclaw adalah acuan resmi.

    Anda juga dapat menetapkannya secara manual:

    bash
    export OPENCLAW_NIX_MODE=1

    Di macOS, aplikasi GUI tidak mewarisi variabel lingkungan shell. Aktifkan mode Nix melalui defaults sebagai gantinya:

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

    Perubahan dalam mode Nix

    • Alur instalasi otomatis dan modifikasi mandiri dinonaktifkan.
    • openclaw.json diperlakukan sebagai berkas yang tidak dapat diubah. Nilai default yang diturunkan saat startup hanya berlaku saat runtime, dan penulis konfigurasi (penyiapan, orientasi awal, openclaw update yang melakukan perubahan, instalasi/pembaruan/penghapusan/pengaktifan Plugin, doctor --fix, doctor --generate-gateway-token, openclaw config set) tidak akan mengedit berkas tersebut.
    • Edit sumber Nix sebagai gantinya. Untuk nix-openclaw, gunakan Mulai Cepat yang mengutamakan agen dan tetapkan konfigurasi di programs.openclaw.config atau instances.<name>.config.
    • Dependensi yang tidak tersedia akan menampilkan pesan perbaikan khusus Nix.
    • UI menampilkan banner mode Nix hanya-baca.

    Jalur konfigurasi dan status

    OpenClaw membaca konfigurasi JSON5 dari OPENCLAW_CONFIG_PATH dan menyimpan data yang dapat diubah di OPENCLAW_STATE_DIR. Di bawah Nix, tetapkan keduanya secara eksplisit ke lokasi yang dikelola Nix agar status runtime dan konfigurasi tetap berada di luar penyimpanan yang tidak dapat diubah.

    Variabel Default
    OPENCLAW_HOME HOME / USERPROFILE / os.homedir()
    OPENCLAW_STATE_DIR ~/.openclaw
    OPENCLAW_CONFIG_PATH $OPENCLAW_STATE_DIR/openclaw.json

    Penemuan PATH layanan

    Layanan gateway launchd/systemd secara otomatis menemukan biner profil Nix sehingga Plugin dan alat yang menjalankan berkas yang dapat dieksekusi hasil instalasi nix melalui shell dapat berfungsi tanpa penyiapan PATH secara manual:

    • Saat NIX_PROFILES ditetapkan, setiap entri ditambahkan ke PATH layanan dengan urutan prioritas dari kanan ke kiri (sesuai dengan prioritas shell Nix: yang paling kanan diprioritaskan).
    • Saat NIX_PROFILES tidak ditetapkan, ~/.nix-profile/bin ditambahkan sebagai cadangan.

    Hal ini berlaku untuk lingkungan layanan launchd macOS dan systemd Linux.

    Terkait

    Was this useful?
    On this page

    On this page