Guixのミラーサーバーを設定する

2024/12/18に公開

デフォルトのgitサーバーやSubstituteサーバーを使っていたところ、私の環境では通信速度が遅く不便だった。そこで上海交通大学が提供してくれているミラーサーバーを設定してみたら早くなったので、その方法を紹介する。

git

guix pullするときに使うgitのミラーサーバーを設定する。~/.config/guix/channels.scmに以下のチャンネルを追加。

~/.config/guix/channels.scm
(list
...
      (channel
       (inherit (car %default-channels))
       (url "https://mirror.sjtu.edu.cn/git/guix.git")))

Substitute

ビルド済みのバイナリをインストールするときに使うSubstituteのミラーサーバーを設定する。

Guix Systemの場合

以下のようにmodify-servicesする。%desktop-serviceを使っていた場合は%base-serviceの部分を%desktop-serviceに変更してください。

(operating-system
...
 (services
  (append
   (modify-services %base-service
                     (guix-service-type config =>
                                       (guix-configuration
                                        (inherit config)
                                        (substitute-urls
                                         (append
                                          (list "https://mirror.sjtu.edu.cn/guix")
                                          %default-substitute-urls)))))
   (list
    (service ...

その他のディストリビューションの場合

試していませんが、guix-daemon.serviceを以下のようにするとできるらしいです。

guix-daemon.service
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --substitute-urls="https://mirror.sjtu.edu.cn/guix/"

参考

https://libreplanet.org/wiki/Group:Guix/Mirrors
https://mirrors.sjtug.sjtu.edu.cn/docs/guix
https://guixcn.github.io/wiki/mirror/

Discussion