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