自由のなる木

RSS
公開日
2022-09-25

Guix で WSL2 のシステムイメージを作成する

先ほど Guix のコミットログを眺めていたら、WSL2 のシステムイメージを作る機能が追加されていることに気付いた 。

image-type Reference (GNU Guix Reference Manual)

guix system image で VM や Docker 用のイメージを作る機能があり、そのイメージタイプのひとつとして、WSL2 が追加された。

作成したイメージを使って、下記のようにインポートすると、WSL2 で Guix をディストリビューションのひとつとして利用できるようになるようだ。

wsl --import Guix ./guix ./wsl2-image.tar.gz
wsl -d Guix

参考: 新しいディストリビューションをインポートする - WSL の基本的なコマンド | Microsoft Learn

イメージの作成の方法はおそらく既存の Docker イメージなどを作る方法と同じだと思うので、(gnu system images wsl2) モジュールの wsl-os の定義を継承するなどして、必要な設定を追加したシステム構成設定ファイルを元に下記のコマンドを実行すれば良いだろう。1

guix system image --image-type=wsl2 my-os.scm

手元に Windows がないので試すことはできていないが、Windows でもパッケージマネージャとしてではなく、ディストリビューションとして Guix を使えるようになるのはとても喜ばしいことだ。

追記 (2022-09-27)

Guix のコミッターのひとりで、この件のパッチのレビューやドキュメンテーションなどを担当した Mathieu さんが解説記事を公開したので併せて読むと良い。

WSL images for Guix System


  1. あいにく Guix のリポジトリの gnu/system/examples ディレクトリには WSL2 のサンプルはまだなかった。