Skip to main content

Nix Kurulumu

OpenClaw’ı Nix ile çalıştırmanın önerilen yolu, piller dâhil bir Home Manager modülü olan nix-openclaw üzerinden kurulmasıdır.

Hızlı Başlangıç

Bunu AI ajanınıza (Claude, Cursor, vb.) yapıştırın:
📦 Tam kılavuz: github.com/openclaw/nix-openclaw nix-openclaw deposu, Nix kurulumu için asıl başvuru kaynağıdır. Bu sayfa yalnızca hızlı bir genel bakıştır.

Neler elde edersiniz

  • Gateway + macOS uygulaması + araçlar (whisper, spotify, kameralar) — tamamı sabitlenmiş
  • Yeniden başlatmalardan sonra da çalışan Launchd servisi
  • Bildirimsel yapılandırmaya sahip eklenti sistemi
  • Anında geri alma: home-manager switch --rollback

Nix Modu Çalışma Zamanı Davranışı

OPENCLAW_NIX_MODE=1 ayarlandığında (nix-openclaw ile otomatik): OpenClaw, yapılandırmayı deterministik hâle getiren ve otomatik kurulum akışlarını devre dışı bırakan bir Nix modu destekler. Aşağıdakini dışa aktararak etkinleştirin:
macOS’te GUI uygulaması kabuk ortam değişkenlerini otomatik olarak devralmaz. Nix modunu defaults üzerinden de etkinleştirebilirsiniz:

Yapılandırma + durum yolları

OpenClaw, JSON5 yapılandırmasını OPENCLAW_CONFIG_PATH konumundan okur ve değiştirilebilir verileri OPENCLAW_STATE_DIR konumunda saklar. When needed, you can also set OPENCLAW_HOME to control the base home directory used for internal path resolution.
  • OPENCLAW_HOME (varsayılan öncelik sırası: HOME / USERPROFILE / os.homedir())
  • OPENCLAW_STATE_DIR (varsayılan: ~/.openclaw)
  • OPENCLAW_CONFIG_PATH (varsayılan: $OPENCLAW_STATE_DIR/openclaw.json)
Nix altında çalışırken, çalışma zamanı durumu ve yapılandırmanın değişmez store dışında kalması için bunları Nix tarafından yönetilen konumlara açıkça ayarlayın.

Nix modunda çalışma zamanı davranışı

  • Otomatik kurulum ve kendini değiştirme akışları devre dışıdır
  • Eksik bağımlılıklar, Nix’e özgü çözüm mesajlarıyla görünür
  • UI, mevcut olduğunda salt okunur bir Nix modu bandı gösterir

Paketleme notu (macOS)

macOS paketleme akışı, aşağıdaki konumda kararlı bir Info.plist şablonu bekler:
scripts/package-mac-app.sh bu şablonu uygulama paketine kopyalar ve dinamik alanları (paket kimliği, sürüm/yapı, Git SHA, Sparkle anahtarları) yamalar. Bu yaklaşım, SwiftPM paketleme ve Nix derlemeleri için (tam bir Xcode araç zincirine dayanmadıkları için) plist’in deterministik kalmasını sağlar.

İlgili