Build Your Perfect System,
Again and Again.
NixOSは、OSの状態を純粋関数として定義します。副作用のない、数学的に証明可能な再現性をその手に。
// /etc/nixos/configuration.nix
Comprehensive Curriculum
理論から実装、そして自動テストまで。NixOSの潜在能力を極限まで引き出す全12章。
Nixの形而上学
Nix言語
(The Expression Language)
OSの構築
(Installation & Config)
- Hardware Configurationの自動生成
- Bootloader (systemd-boot/GRUB) と世代
- ファイルシステムとZFS/Btrfsの統合
- 最小構成からの宣言的セットアップ
現代的Nixの標準「Flakes」
(Reproducibility 2.0)
- Channelsの廃止とInputsのピン留め
- flake.nix / flake.lock の完全制御
- Outputsスキーマ (nixosConfigurations)
- flake-parts によるモジュール化
ユーザー環境の定義
(Home Manager)
- $HOME を宣言的に管理する哲学
- Dotfiles管理とXDG Base Directory
- NixOSモジュール vs スタンドアロン
- GTK/Qtテーマの宣言的統一
デスクトップ体験
(GUI & Wayland)
- X11 vs Wayland (Hyprland/Sway)
- Pipewireによる最新オーディオ環境
- フォントレンダリングとIME (Fcitx5)
開発ワークフロー
(Dev Environments)
- nix-shell / nix develop の深層
- 言語別戦略 (Python, Rust, Go)
- direnv による環境の自動切り替え
NixOS統合テスト
(The Test Framework)
- VMを使った宣言的システムテスト
- Pythonドライバによる操作自動化
- ビルドパイプラインへのテスト組み込み
サーバーと仮想化
(Server & Virtualization)
- 宣言的コンテナ管理 (OCI/Docker)
- MicroVMs と NixOS統合テスト
- Diskoによる宣言的パーティション
秘密情報とセキュリティ
(Secrets & Security)
- sops-nix / agenix による秘密管理
- SBOM (Software Bill of Materials) 生成
- 脆弱性スキャンとパッチ適用戦略
パッケージング上級
(Advanced Packaging)
- mkDerivation 完全ガイド
- Overlays による既存パッケージの改変
- 独自のBinary Cache構築 (Cachix)
内部構造とデバッグ
(Internals & Troubleshooting)
- Nix Repl による対話的評価・検証
- クロージャ解析とグラフ可視化
- ガベージコレクションの最適化
immutable
不変なストア
/nix/store は読み取り専用。既存のライブラリを破壊することなく、新旧のバージョンが共存します。
atomic
アトミックな更新
アップグレードは「成功か、何もしないか」の二択。失敗しても即座に旧世代へロールバック可能。
declarative
宣言的設定
「何をインストールしたか」を記憶する必要はありません。設定ファイルがシステムの全てを物語ります。