NixOSとは

NixOSは、Nixパッケージマネージャーをベースにした関数型Linuxディストリビューション。

特徴:

  • 宣言的設定 - 全システムを一つの設定ファイルで定義
  • 再現可能 - 同じ設定 = 同じ環境
  • ロールバック可能 - 壊れても前の世代に戻せる

Flakeベースの設定

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";
  };
  
  outputs = { self, nixpkgs, home-manager }: {
    nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ./configuration.nix
        home-manager.nixosModules.home-manager
      ];
    };
  };
}

詳しくはGitHubリポジトリ mtdnot/nixos-flake を参照。