NixOSインストール案内
-
Write your
configuration.nix
-
Copy it to
/etc/nixos/configuration.nix
-
Run
nixos-install
インストール先
例えばVirtualBoxだとインストールせずともデスクトップ環境のイメージ(ovaファイル)が公式に用意されている。 クラウド上のホストにインストールする場合も、isoファイルが用意されている場合がある。 AWSとかGCPならNixOpsで直接デプロイすら可能。
パーティションについて。/boot
は512MiBあれば十分です。 /nix
は20GiBはほしいような、100GiBあれば余裕。 無理にパーティションを分割する必要は無い。
/mnt
以下に全てマウントした後、nixos-generate-config --root /mnt
。 生成された/mnt/etc/nixos/configuration.nix
を適宜書き換えて、nixos-install
。 LUKSを使うならhardware-configuration.nix
に鍵の情報が必要。
インストール準備
LinuxだとisoファイルをUSBにdd
で一発。起動できるようになる。
sudo dd if=./nixos-*.iso of=/dev/sdb bs=1M status=progress
インストール
マニュアル読みましょう。マジで全部書いてあります。 https://nixos.org/nixos/manual/
sudo nixos-generate-config --root /mnt sudo nixos-install --root /mnt --no-root-passwd
/mnt
以下に/boot
など全てマウントした後nixos-generate-config
するとhardware.nix
が生成される。 UEFIから直接とかgrub経由でとかをconfiguration.nix
に記述してnixos-install
。 --no-root-passwd
でDebian系列のようにrootをログイン不可にできる。
cf. https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/profiles/graphical.nix
起動はしたがXが立ち上がらない場合もやることは同じで、例えばsshからconfiguration.nix
を調整すれば楽。
Raspberry Piはこのページを参照. https://github.com/zupo/nix
日々のお手入れ
自動更新じみたもの。
system.autoUpgrade.enable = true;
手動で更新するなら次のいずれか。
sudo nixos-rebuild switch
sudo nixos-rebuild switch --upgrade
sudo nixos-rebuild test
例
記事を作るまでもない例を並べておきます。
ssh server
services.openssh = { enable = true; passwordAuthentication = true; permitRootLogin = "prohibit-password"; forwardX11 = true; };