NixOS
宣言的なシステム構成管理を中心に設計された Linux ディストロ。パッケージ管理に Nix を使い、システム全体の状態を設定ファイルで記述する。
Linux 遍歴の中で「乗り換えるたびに設定を作り直す」問題への解として辿り着いた。Flakes を使うとシステム構成をリポジトリで管理でき、可搬な設定の到達点のひとつになっている。
特徴
- 宣言的 — Flakes に書いた状態がシステムの唯一の真実になる
- ロールバック — 世代管理されているので、設定を壊しても前の状態に戻せる
- 再現性 — 同じ設定から同じ環境を何度でも再構築できる
主要コマンド
nh は Nix Helper で、Flakes のパスを自動解決してくれるラッパー。NH_FLAKE を設定しておけばパスを毎回指定しなくてよい。
nh os switch # NixOS システム設定を適用
nh home switch # Home Manager ユーザー設定を適用
nix flake update # 依存関係を最新に更新
nix flake check # 構文・型チェック(switch 前に通す)現在の構成
Flakes + Home Manager で NixOS システム設定とユーザー設定を分離して管理。WM は Niri、DE は Noctalia。