Containers

Nix

nix-openclaw(公式の機能完備な Home Manager モジュール)を使用して、OpenClaw を宣言的にインストールします。

利用できるもの

  • Gateway、macOS アプリ、ツール(whisper、spotify、カメラ)。すべてバージョン固定
  • 再起動後も稼働する launchd サービス
  • 宣言的設定に対応した Plugin システム
  • 即時ロールバック:home-manager switch --rollback

クイックスタート

  • Determinate Nix をインストール

    Nix がまだインストールされていない場合は、Determinate Nix インストーラーの手順に従ってください。

  • ローカル flake を作成

    nix-openclaw リポジトリのエージェントファーストテンプレートを使用します。

    bash
    mkdir -p ~/code/openclaw-local# nix-openclaw リポジトリから templates/agent-first/flake.nix をコピー
  • シークレットを設定

    メッセージングボットのトークンとモデルプロバイダーの API キーを設定します。~/.secrets/ にあるプレーンファイルで問題なく動作します。

  • テンプレートのプレースホルダーを入力して切り替え

    bash
    home-manager switch
  • 確認

    launchd サービスが実行中であり、ボットがメッセージに応答することを確認します。

  • すべてのモジュールオプションと例については、nix-openclaw README を参照してください。

    Nix モードのランタイム動作

    OPENCLAW_NIX_MODE=1 が設定されている場合(nix-openclaw では自動設定)、OpenClaw は Nix 管理のインストール向けの決定論的モードに移行します。他の Nix パッケージでも同じモードを設定できます。nix-openclaw が公式のリファレンス実装です。

    手動で設定することもできます。

    bash
    export OPENCLAW_NIX_MODE=1

    macOS では、GUI アプリはシェルの環境変数を継承しません。代わりに defaults を使用して Nix モードを有効にします。

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

    Nix モードでの変更点

    • 自動インストールと自己変更フローが無効になります。
    • openclaw.json は不変として扱われます。起動時に導出されるデフォルトはランタイム内にのみ保持され、設定を書き込む機能(セットアップ、オンボーディング、openclaw update の変更、Plugin のインストール/更新/アンインストール/有効化、doctor --fixdoctor --generate-gateway-tokenopenclaw config set)はファイルの編集を拒否します。
    • 代わりに Nix ソースを編集してください。nix-openclaw では、エージェントファーストのクイックスタートを使用し、programs.openclaw.config または instances.<name>.config 配下に設定を指定します。
    • 依存関係が不足している場合、Nix 固有の修正メッセージが表示されます。
    • UI に読み取り専用の Nix モードバナーが表示されます。

    設定と状態のパス

    OpenClaw は OPENCLAW_CONFIG_PATH から JSON5 設定を読み込み、変更可能なデータを OPENCLAW_STATE_DIR に保存します。Nix では、ランタイム状態と設定が不変ストアに入らないように、これらを Nix 管理の場所へ明示的に設定してください。

    変数 デフォルト
    OPENCLAW_HOME HOME / USERPROFILE / os.homedir()
    OPENCLAW_STATE_DIR ~/.openclaw
    OPENCLAW_CONFIG_PATH $OPENCLAW_STATE_DIR/openclaw.json

    サービスの PATH 検出

    launchd/systemd の Gateway サービスは Nix プロファイルのバイナリを自動検出するため、nix でインストールされた実行可能ファイルをシェルから呼び出す Plugin やツールは、PATH を手動設定せずに動作します。

    • NIX_PROFILES が設定されている場合、すべてのエントリが右から左の優先順位でサービスの PATH に追加されます(Nix シェルの優先順位と同じで、右端が優先されます)。
    • NIX_PROFILES が未設定の場合、フォールバックとして ~/.nix-profile/bin が追加されます。

    これは macOS の launchd と Linux の systemd の両方のサービス環境に適用されます。

    関連項目

    Was this useful?
    On this page

    On this page