AIエージェントでSSH越しにNixOSをインストールする完全ガイド
AIエージェント(Claude Codeなど)を使ってリモートサーバーにNixOSをSSH経由でインストールする手順を解説。OSインストールから初期設定まで自動化。
はじめに
AIエージェント(Claude Codeなど)を活用して、リモートサーバーにSSH越しでNixOSをインストールする方法を解説します。このチュートリアルでは、AIエージェントに指示を出すだけで、OSのインストールから初期設定までを自動化します。
前提条件
1. 準備
1.1 NixOS minimal ISOのダウンロード
まず、NixOSの最小インストールISOをダウンロードします。
wget https://channels.nixos.org/nixos-24.11/latest-nixos-minimal-x86_64-linux.iso
1.2 リモートコンソールへのISOマウント
IPMIやiDRACのWebインターフェースから、ダウンロードしたISOを仮想メディアとしてマウントします。
1.3 サーバーの起動とネットワーク設定
サーバーを起動し、NixOSインストーラーが起動したら、ネットワーク設定を行います。
<h1>DHCPでIPアドレスを取得(自動の場合が多い)</h1>
<h1>手動設定の場合</h1>
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
route add default gw 192.168.1.1
1.4 SSH有効化
インストーラー上でSSHを有効にします。
systemctl start sshd
passwd root # パスワードを設定(例:password)
2. AIエージェントのセットアップ
2.1 ホストマシンでの準備
ホストマシン(例:ローカルPC)にClaude CodeなどのAIエージェントをインストールします。
<h1>Claude Codeの場合(例)</h1>
npm install -g @anthropic-ai/claude-code
2.2 SSH接続の確認
ホストマシンからインストーラーにSSH接続できるか確認します。
ssh root@<インストーラーのIPアドレス>
3. AIエージェントによるNixOSインストール
3.1 エージェントへの指示
AIエージェントに対して、以下のような指示を出します。
指示: SSHでリモートサーバー(root@<IP>)に接続し、NixOSをインストールしてください。
<li>ディスクは/dev/sda(または適宜変更)</li>
<li>パーティションはGPTで、/boot(512MB)、swap(8GB)、/(残り)</li>
<li>ホスト名: mynixos</li>
<li>ユーザー名: user</li>
<li>公開鍵を設定</li>
3.2 AIエージェントの実行内容
AIエージェントは以下のようなコマンドを自動実行します。
パーティション作成
parted /dev/sda -- mklabel gpt
parted /dev/sda -- mkpart primary 512MB -8GB
parted /dev/sda -- mkpart primary linux-swap -8GB 100%
parted /dev/sda -- mkpart ESP fat32 1MB 512MB
parted /dev/sda -- set 3 esp on
ファイルシステム作成
mkfs.ext4 /dev/sda1
mkswap /dev/sda2
mkfs.fat -F 32 /dev/sda3
マウント
mount /dev/sda1 /mnt
mount --mkdir /dev/sda3 /mnt/boot
swapon /dev/sda2
設定生成
nixos-generate-config --root /mnt
configuration.nixの編集
AIエージェントが自動で編集します。主な設定項目:
{ config, pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "mynixos";
networking.networkmanager.enable = true;
users.users.user = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..."
];
};
services.openssh.enable = true;
system.stateVersion = "24.11";
}
インストール実行
nixos-install
再起動
reboot
4. インストール後の確認
4.1 SSH再接続
サーバーが再起動したら、新しいIPアドレス(DHCPの場合)に対してSSH接続します。
ssh user@<新しいIP>
4.2 AIエージェントによる初期設定
AIエージェントに追加の設定を依頼できます。例:
指示: サーバーにDockerとNginxをインストールし、ファイアウォールを設定してください。
5. トラブルシューティング
SSH接続が拒否される
systemctl start sshdが実行されているか確認インストールに失敗する
lsblkで確認)まとめ
AIエージェントを活用することで、NixOSのインストール作業を大幅に自動化できます。特にSSH越しのリモートインストールでは、手動入力の手間が省け、設定ミスも減らせます。本ガイドを参考に、効率的なサーバーセットアップを行ってください。