fetchFromGitHub
たぶん気にしなくて良いと思うmrsekut.icon
4つの引数
owner
GitHubのauthor名
repo
GitHubのrepository名
rev
Gitのcommit id
sha256
docsには「the hash of the extracted directory」書いているがよくわからない
よくわからなくても指定はできるので以下の例を参照
例
zshのpluginとしてenhancdを使うために以下のような指定をしている
code:nix
name = "enhancd";
file = "init.sh";
src = pkgs.fetchFromGitHub {
owner = "b4b4r07";
repo = "enhancd";
rev = "aec0e0c1c0b1376e87da74b8940fda5657269948";
sha256 = "13n2c2kj25g8aqvlkb5j4vzcz5a4a22yc8v6ary651lpqgckx7cg";
};
enhancdは、「b4b4r07/enhancd」なのでownerとrepoはそのまま 2021/6/28現在のenhancdのmasterの最新commitはこれなので、そのcommit idであるaec..がrevに指定されている sha256も環境を汚さずに確認することが出来る
code:shell
$ nix-shell -p nix-prefetch-scripts
...
{
"rev": "aec0e0c1c0b1376e87da74b8940fda5657269948",
"date": "2021-02-01T03:33:49+09:00",
"path": "/nix/store/pb8nycx17wlar7na1b2jr2svdg3ai294-enhancd",
"sha256": "13n2c2kj25g8aqvlkb5j4vzcz5a4a22yc8v6ary651lpqgckx7cg",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}
このsha256の値である13n..が上で指定されている値である
これ自動で最新のものを指定するように設定できないの?
手動でおっかけるのめんどすぎでは?
参考