Containers

Nix

Instal OpenClaw secara deklaratif dengan nix-openclaw - modul Home Manager pihak pertama yang sudah lengkap.

Yang Anda dapatkan

  • Gateway + aplikasi macOS + alat (whisper, spotify, cameras) -- semuanya dipin
  • Layanan launchd yang tetap berjalan setelah reboot
  • Sistem Plugin dengan config deklaratif
  • Rollback instan: home-manager switch --rollback

Mulai cepat

  • Instal Determinate Nix

    Jika Nix belum terinstal, ikuti instruksi Determinate Nix installer.

  • Buat flake lokal

    Gunakan templat agent-first dari repo nix-openclaw:

    mkdir -p ~/code/openclaw-local
    # Copy templates/agent-first/flake.nix from the nix-openclaw repo
    
  • Konfigurasikan rahasia

    Siapkan token bot perpesanan dan kunci API penyedia model Anda. File polos di ~/.secrets/ sudah cukup.

  • Isi placeholder templat dan beralih

    home-manager switch
    
  • Verifikasi

    Pastikan layanan launchd berjalan dan bot Anda merespons pesan.

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

    Perilaku runtime mode Nix

    Saat OPENCLAW_NIX_MODE=1 ditetapkan (otomatis dengan nix-openclaw), OpenClaw masuk ke mode deterministik untuk instalasi yang dikelola Nix. Paket Nix lain dapat menetapkan mode yang sama; nix-openclaw adalah referensi pihak pertama.

    Anda juga dapat menetapkannya secara manual:

    export OPENCLAW_NIX_MODE=1
    

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

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

    Yang berubah dalam mode Nix

    • Alur auto-install dan mutasi mandiri dinonaktifkan
    • openclaw.json diperlakukan sebagai immutable. Default turunan startup tetap hanya runtime, dan penulis config seperti setup, onboarding, openclaw update yang memutasi, install/update/uninstall/enable Plugin, doctor --fix, doctor --generate-gateway-token, dan openclaw config set menolak mengedit file tersebut.
    • Agent sebaiknya mengedit sumber Nix sebagai gantinya. Untuk nix-openclaw, gunakan Mulai Cepat agent-first dan tetapkan config di bawah programs.openclaw.config atau instances.<name>.config.
    • Dependency yang hilang menampilkan pesan remediasi khusus Nix
    • UI menampilkan banner mode Nix read-only

    Jalur config dan state

    OpenClaw membaca config JSON5 dari OPENCLAW_CONFIG_PATH dan menyimpan data yang dapat diubah di OPENCLAW_STATE_DIR. Saat berjalan di bawah Nix, tetapkan ini secara eksplisit ke lokasi yang dikelola Nix agar state runtime dan config tetap berada di luar store immutable.

    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 otomatis menemukan biner profil Nix sehingga Plugin dan alat yang melakukan shell out ke executable yang diinstal nix berfungsi tanpa penyiapan PATH manual:

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

    Ini berlaku untuk lingkungan layanan launchd macOS maupun systemd Linux.

    Terkait