Size: a a a

2020 May 08

S

Soul in NixOS
пути никса неисповедимы
источник

N

Nikolay in NixOS
чертова магия опять)
источник

SM

Sergey Makarov in NixOS
Soul
хм.. Причем кругом srcs выносят в let, а в самой деривации указывают src = srcs.mainsrc, а остальное как-то само докачивается
Так вон же эти остальные srcs в preBuild-hook копируются
источник

S

Soul in NixOS
Sergey Makarov
Так вон же эти остальные srcs в preBuild-hook копируются
они так и так используются, но через let работает, а через derivation.srcs - нет
источник

SM

Sergey Makarov in NixOS
Nikolay
Пытаюсь в деривации вместо src использовать сет srcs = { foo =fetchurl..., bar = fetchurl...}; и далее в фазах использую ${srcs.foo} соответственно. На что мне ругается error: while evaluating the attribute 'srcs' of the derivation... cannot coerce a set to a string. Что делаю не так? Зачем никсу приводить сет к строке?
Насколько я помню, если в derivation прописать атрибуты, отличные от дефолтных, они пробрасываются как переменные окружения
источник

SM

Sergey Makarov in NixOS
Пусть старшие меня поправят, если ошибаюсь
источник

SM

Sergey Makarov in NixOS
Таки да
источник

SM

Sergey Makarov in NixOS
Если эту штуку запустить в nix-shell и посмотреть echo $srcs, можно в этом убедиться
источник

AS

Alexey Shmalko in NixOS
Sergey Makarov
Насколько я помню, если в derivation прописать атрибуты, отличные от дефолтных, они пробрасываются как переменные окружения
да, но src тоже пробрасывается. src и srcs хендлятся в unpackPhase https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L849-L856

через let работает потому что никс вместо ${srcs.blah} подставит путь в стор, где этот blah derivation будет собран. Но тогда unpackPhase ничего с ним не делает (если будете качать архив через fetchurl, то ${srcs.blah} это будет нераспакованый архив)
источник

S

Soul in NixOS
так для архива у нас есть fetchTarball и fetchzip
источник

AS

Alexey Shmalko in NixOS
fetchTarball это builtin. я про pkgs.fetchurl
источник

S

Soul in NixOS
pkgs.fetchzip
источник

AS

Alexey Shmalko in NixOS
fetchzip распаковывает
источник

AS

Alexey Shmalko in NixOS
builtins фетчеры вообще лучше не использовать, если нужны reproducible builds
fetchzip это хак для архивов, которые генерируются на лету (GitHub), чтобы у них всегда был одинаковый хэш
если качать честно выложеный архив — то fetchurl
источник

AS

Alexey Shmalko in NixOS
ну и если нужно всё таки передавать много сорсов в mkDerivation, то srcs должен быть списком. тогда будет норм работать
источник

AT

Andrew Tropin in NixOS
Александр Бантьев
У нас довольно много продов деплоятся в AWS с помощью схемы terraform + nixos AMI + nix-deploy-like скриптец
а чё кстати по ci? гидру юзаете?
источник

AS

Arseniy S in NixOS
Александр Бантьев
Я попробую выбить рабочее время на опен-сорцинг наших скриптов и небольшую статью о них :)
Это очень хорошая идея!
источник

АЕ

Александр Ермолов... in NixOS
Arseniy S
Это очень хорошая идея!
это знак согласия? ;)
источник

S

Soul in NixOS
как подменить канал, чтобы import <nixpkgs> брал unstable?
источник

S

Soul in NixOS
https://nixos.mayflower.consulting/blog/2018/09/11/custom-images/ а ведь такое можно через flake попробовать, там интересно задают скрипты сборки
источник