Size: a a a

2021 March 28

AT

Andrew Tropin in NixOS
Я сейчас не за компом, не могу покурить маны по Никс шеллу
источник

YM

Yurii Matsiuk in NixOS
LOL WTF
Ядро новое подвезут, да?
Ядро ты и так можешь заюзать новое, без релиза
источник

KV

Kirill Valyavin in NixOS
Вообще я наверное делаю фигню, поэтому спрошу по-другому. Мне надо, чтобы после nix-collect-garbage -d команда nix-shell для некоторого отдельного проекта успешно завершалась без скачивания файлов из сети, если это возможно (не были добавлены новые пакеты с момента последней сборки шелла). Наверное, для этого мне надо не просто чтобы соответствующий шеллу drv попал в список корней gc, а чтобы по мере развития проекта старые версии шеллов удалялись из списка корней, а новые добавлялись
источник

KV

Kirill Valyavin in NixOS
Вот ещё какой подвох: nix-shell качает не только пакеты нужные непосредственно для разработки, а ещё пакеты для скачивания и сборки других пакетов, их бы тоже надо держать в сторе
источник

YM

Yurii Matsiuk in NixOS
Kirill Valyavin
Вообще я наверное делаю фигню, поэтому спрошу по-другому. Мне надо, чтобы после nix-collect-garbage -d команда nix-shell для некоторого отдельного проекта успешно завершалась без скачивания файлов из сети, если это возможно (не были добавлены новые пакеты с момента последней сборки шелла). Наверное, для этого мне надо не просто чтобы соответствующий шеллу drv попал в список корней gc, а чтобы по мере развития проекта старые версии шеллов удалялись из списка корней, а новые добавлялись
https://github.com/NixOS/nix/issues/2208

Это то, что тебе надо?
источник

KV

Kirill Valyavin in NixOS
mkdir -p .gcroots
nix-instantiate shell.nix --indirect --add-root $PWD/.gcroots/shell.drv
nix-store --indirect --add-root $PWD/.gcroots/shell.dep --realise $(nix-store --query --references $PWD/.gcroots/shell.drv)
exec nix-shell $(readlink $PWD/.gcroots/shell.drv)
Вот это, кажется, то, что нужно, только вот бы ещё оно работало с просто nix-shell, а не через скрипт
Ну и так вообще если честно как-то это по-дурацки... но видимо это вопрос к мейнтейнерам никса
источник

YM

Yurii Matsiuk in NixOS
Kirill Valyavin
mkdir -p .gcroots
nix-instantiate shell.nix --indirect --add-root $PWD/.gcroots/shell.drv
nix-store --indirect --add-root $PWD/.gcroots/shell.dep --realise $(nix-store --query --references $PWD/.gcroots/shell.drv)
exec nix-shell $(readlink $PWD/.gcroots/shell.drv)
Вот это, кажется, то, что нужно, только вот бы ещё оно работало с просто nix-shell, а не через скрипт
Ну и так вообще если честно как-то это по-дурацки... но видимо это вопрос к мейнтейнерам никса
Можешь отписать в ишью. Такие вещи скорее слишком специфические, поэтому надо проявлять интерес более активно
источник

KV

Kirill Valyavin in NixOS
Кэшировать зависимости репла это специфическое?? Я в шоке, но отпишу, конечно
источник

YM

Yurii Matsiuk in NixOS
А старый nix-shell не пробовал юзать, до коммита указанного в ишью?
источник

KV

Kirill Valyavin in NixOS
Не пробовал, да и зачем? Три года назад, всё-таки, дело было
источник

N

Nikita Ursol in NixOS
когда решил включить оомд
источник

N

Nikita Ursol in NixOS
я даже не знаю.... ждать пока весь мир перекомпилируется... 🗿
источник

YM

Yurii Matsiuk in NixOS
Nikita Ursol
я даже не знаю.... ждать пока весь мир перекомпилируется... 🗿
Так будет каждый раз после апдейта либ. Интересно, hydra/cachix компилит все комбинации опций деривации или только дефолтные? Чтоб если ты включаешь оверрайдом какую-то опцию тянуло из кеша. Или прийдется так компилить каждый раз?
источник

N

Nikita Ursol in NixOS
Или прийдется так компилить каждый раз. Оно сейчас же компилит
источник

YM

Yurii Matsiuk in NixOS
Я хз как ты оверрайдил, может какой-то buildPhase флаг добавил 😉
источник

N

Nikita Ursol in NixOS
final: prev: { systemd = prev.systemd.override { withOomd = true; }; }
источник

N

Nikita Ursol in NixOS
вообщем я забил
источник

YM

Yurii Matsiuk in NixOS
Nikita Ursol
вообщем я забил
Мы все через это должны пройти😂 сколько ждал?
источник

N

Nikita Ursol in NixOS
не долго
источник

YM

Yurii Matsiuk in NixOS
Nikita Ursol
final: prev: { systemd = prev.systemd.override { withOomd = true; }; }
Блин, ну такие же вещи можно заранее собрать с разными комбинациями и закешить
источник