Вы можете найти кэшированные версии nixpkgs прямо здесь, в приложении HowOldIs.
Возможно, вы захотите использовать ревизию nixpkgs-18.09-darwin
или nixpkgs-unstable
.
Затем вы можете получить nixpkgs, например, так:
builtins.fetchGit {
name = "nixpkgs";
url = "https://github.com/nixos/nixpkgs.git";
rev = "6ec64973bc3a48b0c54d11c782e8b88b550a8eab";
ref = "release-18.09";
})
Атрибут ref
требуется, когда ревизия не входит в ветку по умолчанию - обычно master
.
Примечание в руководстве Nix описывает его следующим образом:
Примечание: Приятно всегда указывать ветвь, к которой относится ревизия.Если ветка не указана, сборщик может завершиться ошибкой, если ветка по умолчанию изменится.Кроме того, может возникнуть путаница при попытке фиксации из ветки не по умолчанию и при сбое выборки.Если указана ветвь, ошибка гораздо более очевидна.
Я полагаю, что такое поведение основано на обходном пути в протоколе Git, что вы можете указать только ссылки для выборки, но не произвольные коммиты, еслиЯ не ошибаюсь.