Size: a a a

2020 June 13

AS

Anton Smetanin in NixOS
Alexey Shmalko
nix-shell -p unity3d?
Хм, да пошло вроде
источник

AS

Anton Smetanin in NixOS
Alexey Shmalko
не легче тогда выкачать nixpkgs и в нем прямо редактировать?
Возможно. У меня только два опасения: 1) что он весит много и 2) что я не совсем понимаю, что делаю и как правильно. И как будто выкачивать всё целиком не совсем правильно, когда мне нужно всего лишь один пакет изменить
источник

AS

Alexey Shmalko in NixOS
если очень сильно за размер переживаешь, можно сделашь shallow clone или тарничек конкретного коммита.
а вообще держать локальный чекаут nixpkgs очень полезно
источник

AS

Alexey Shmalko in NixOS
чаще всего, самый быстрый способ что-то найти или понять, как что-то работает, это грепнуть по nixpkgs
источник

AS

Anton Smetanin in NixOS
Я правильно понимаю, что все вот эти crc32c = callPackage ../development/libraries/crc32c { }; — это по сути определения функций, которые потом вызываются?
источник

AS

Alexey Shmalko in NixOS
это уже вызов функции callPackage с двумя параметрами ../development/libraries/crc32c и { } (пустой объект)
источник

AS

Anton Smetanin in NixOS
Да, но в какой момент этот вызов происходит?
источник

AS

Alexey Shmalko in NixOS
из-за того, что никс ленивый — когда он кому-то понадобится
источник

AS

Alexey Shmalko in NixOS
финальный "кому-то" это nix-build или nix-shell (или какой-то другой из тулов)
источник

AS

Anton Smetanin in NixOS
Я вот как раз пытаюсь связать одно с другим. Сам файл all-packages.nix при выполнении, получается, просто создаёт набор переменных в глобальном скоупе?
источник

AS

Alexey Shmalko in NixOS
нет глобального скоупа. all-packages возвращает большой attrset, где большинство полей это пакеты
источник

AS

Anton Smetanin in NixOS
Ага, понятно
источник

AS

Anton Smetanin in NixOS
А как из nix-build добраться до этих полей?
источник

AS

Alexey Shmalko in NixOS
nix-build -f '<nixpkgs>' -A unity3d
источник

AS

Alexey Shmalko in NixOS
если ты в директории nixpkgs, то -f <nixpkgs> не нужен
источник

AS

Anton Smetanin in NixOS
То есть -A берёт поле по имени из attrset?
источник

AS

Alexey Shmalko in NixOS
да
источник

AS

Anton Smetanin in NixOS
https://www.mankier.com/1/nix-build

-f тут вообще нет
источник

AS

Alexey Shmalko in NixOS
я соврал, сорри. -f не нужен
источник

AS

Alexey Shmalko in NixOS
nix-build '<nixpkgs>' -A unity3d
источник